규칙을 찾는 것이 중요한 문제였다
n이 0이 될 때까지 3으로 나누는데 나머지가 1이면 1, 2면 2, 0이면 4를 문자열의 앞에 붙여줘야 했다
단, 나머지가 0일 경우는 몫에서 -1을 빼주어야 했다
몫과 나머지를 구해주는 divmod()를 사용하였다
소스 코드
def solution(n):
answer = ''
while n:
n, m = divmod(n, 3)
answer = "412"[m] + answer
if not m:
n -= 1
return answer
def change124(n):
num = ['1','2','4']
answer = ""
while n > 0:
n -= 1
answer = num[n % 3] + answer
n //= 3
return answer