본문 바로가기

전체 글

(33)
[프로그래머스] level1 약수의 개수와 덧셈(python) 문제 설명 제한사항 입출력 예 나의 풀이(전체 코드) def solution(left, right): answer = 0 for i in range(left, right+1): count = 0 for j in range(1, i+1): if i%j == 0: count += 1 if count%2 == 0: answer += i else: answer -= i return answer 이 문제는 약수의 개수가 짝수인 수는 더하고(+), 약수의 개수가 홀수인 수는 뺀(-) 값을 모두 더한 값이 return 돼야 한다. 입출력 예 설명을 보면서 이해를 하면 수월하게 풀 수 있는 문제였다. 우선 입력받은 두 정수 left부터 right 까지의 모든 수들 중에서 약수의 개수를 판단해야 하기 때문에 반복문은 l..
[프로그래머스] level1 로또의 최고 순위와 최저 순위(파이썬) 문제 설명 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 제한 사항 입출력 예 나의 풀이(전체 코드) def solution(lottos, win_nums): answer = [6,6,5,4,3,2,1] count1 = count2 = 0 for i in range(len(lottos)): if lottos[i] in win_nums: count1 += 1 for i in range(len(lottos)): if (lottos[i] == 0) and (lottos[i] not in win_nums): lottos[i] = win_nums[i] if lottos[i] in win_nums: count2 ..
[프로그래머스] Level1 3진법 뒤집기 (파이썬) 문제 설명 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수입니다. 입출력 예 n result 45 7 125 229 나의 풀이 (전체 코드) def solution(n): answer = [] sum = 0 while(n != 0): answer.append(n%3) n = n // 3 answer.reverse() for i in range(len(answer)): sum += answer[i] * (3**i) return sum 처음 문제를 접하고 나서 3진법이란 게 있나?라는 생각을 짧게 했다 우선 문제를 풀기 전에 위의 ..