예전에 한번 풀려다가 실패한 문제이다. 이를 하기 위해서는 divmod에 대한 공부가 조금 필요했다:
def solution(n):
num_list1 = []
while n >= 3:
n, num = divmod(n, 3)
num_list1.append(num)
num_list1.append(n)
num_list2 = num_list1[::-1]
multipl = 1
answer = 0
for i in num_list2:
i = i*multipl
multipl *= 3
answer += i
return answer
divmod를 이용하여 // 또는 %를 사용할 필요가 없었다. divmod에 대한 설명은 "Python 공부하기" 게시판에 올려두도록 하겠다.
'알고리즘 테스트 > 프로그래머스 문제풀이 및 해설' 카테고리의 다른 글
<프로그래머스 문제풀이: 서울에서 김서방 찾기> Level 1 - 파이썬 (0) | 2020.11.10 |
---|---|
<프로그래머스 문제풀이: 문자열 다루기 기본> Level 1 - 파이썬 (0) | 2020.11.09 |
<프로그래머스 문제풀이: 문자열 내림차순으로 배치하기> Level 1 - 파이썬 (0) | 2020.11.08 |
<프로그래머스 문제풀이: 문자열 내 p와 y의 개수> Level 1 - 파이썬 (0) | 2020.11.07 |
<프로그래머스 문제풀이: 문자열 내 마음대로 정렬하기> Level 1 - 파이썬 (0) | 2020.11.06 |