파이썬 30

음양 더하기

어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요. signs[i] 가 참이면 absolutes[i] 의 실제 정수가 양수임을, 그렇제 않으면 음수임을 의미합니다. def solution(absolutes, signs): answer = 0 for i in range(len(absolutes)): if signs[i]: answer += absolutes[i] else: answer -= absolutes[i] return answer ① for i in range(len(absolutes)): # a..

서울에서 김서방 찾기 # index()

String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다. def solution(seoul): a=seoul.index("Kim") return "김서방은 "+str(a)+"에 있다" ① a=seoul.index("Kim") # index() 문자열, 리스트, 튜플에서 위치(인덱스) 를 찾아준다 특정 문자열의 위치(인덱스) 찾기 ① find() # 문자열만 가능 ② index() # 문자열,리스트,튜플에서 가능 * 두가지 모두 딕셔너리에서 사용 시 에러발생함 > 딕셔너리는 인덱스가 없기 때문에! ③ format함..

나누어 떨어지는 숫자 배열

array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요. def solution(arr, divisor): answer = [] for array in arr: if array % divisor==0: answer.append(array) answer.sort() if len(answer)==0: answer.append(-1) return answer ① answer = [] # 원하는 값이 배열에 추가되도록 빈 리스트를 생성 ② for array in arr: if array % divisor==0: answer.app..

콜라츠 추측 # while 반복문

1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될 때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2로 나눕니다. 1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다. 2. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다. 예를 들어, 주어진 수가 6이라면 6 → 3 → 10 → 5 → 16 → 8 → 4 → 2 → 1 이 되어 총 8번 만에 1이 됩니다. 위 작업을 몇 번이나 반복해야 하는지 반환하는 함수, solution을 완성해 주세요. 단, 주어진 수가 1인 경우에는 0을, 작업을 500번 반복할 때까지 1이 되지 않는다면 –1을 반환해 주세요. def solution(n..

두 정수 사이의 합 # min(),max()

https://school.programmers.co.kr/learn/courses/30/lessons/12912 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. def solution(a,b): if a

하샤드 수

https://school.programmers.co.kr/learn/courses/30/lessons/12947 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요. def solution(x): x_list = list(map(int, str(x))) Sum = sum(x_list) i..

[python] map() 함수와 join() 함수 사용법

https://school.programmers.co.kr/learn/courses/30/lessons/12933 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr def solution(n): answer=list(map(int,str(n))) answer.sort(reverse=True) return ''.join(answer) return int(''.join(answer)) return (''.join(answer))map 함수를 알게 된 김에 써보려고 했는데얘는 왜 안될까 .. ?모두 다 ..

개인공부 2024.03.30

정수 내림차순으로 배치하기 # sort, ''.join()

def solution(n): result = list(str(n)) result.sort(reverse = True) return int(''.join(result)) ① result = list(str(n)) # n을 문자열로 바꾸어 리스트를 만들어준다 >> ['1','1','8','3','7','2'] ② result.sort(reverse = True) # 리스트를 내림차순으로 정렬해준다 >> ['8','7','3','2','1','1'] ③ int(''.join(result)) # ''.join(리스트) 함수를 사용하여 문자열로 합쳐서 반환 >> 문자열 873211 # int 를 사용하여 정수로 리턴해준다 >> 숫자열 873211 * '구분자'.join(리스트) 함수 매개변수로 들어온 리스트를 ..

정수 제곱근 판별 # import math, n**(1/2), %1==0

임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요. def solution(n): x = n**(1/2) if x % 1 == 0: return (x+1) ** 2 else: return -1 ① n**(1/2) # n의 1/2 제곱은 n의 제곱근이다. ex. 121의 1/2 승 >> √121 = 11 ② x % 1 == 0 # x를 1로 나눈 나머지가 0이면 양의정수이다. # ex. x = 11 이었을 때 1로 나누면 몫이 11, 나머지가 0 # 다른 풀이 import math def solution(n): x = math.sqrt(..

자연수 뒤집어 배열로 만들기 # [::-1], reverse()

자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. def solution(n): result = [] for i in str(n): result.append(int(i)) return result[::-1] # 다른 코드 def solution(n): result = [] for i in str(n): result.append(int(i)) result.reverse() return result # 다른 코드 def solution(n): result = [] for i in reversed(str(n)): result.append(int(i)) return result ① result = [] # 리스트 만들어주..