3진법처럼 접근한 뒤 result 값을 reverse해서 return하면 된다. 즉 n을 3으로 나눈 케이스에 따라 분류하고, 다음 n은 3으로 나눈 몫이 된다. 하지만 이때 숫자 4가 들어오는 상황을 다르게 처리해야 한다. 4 다음에 다른 자리로 넘어가기 때문인데, 이때 n에 1을 빼주면 된다.
def solution(n):
numbers = ['4', '1', '2']
result = ''
while n:
result += numbers[n%3]
if n % 3 == 0:
n -= 1
n = n // 3
return result[::-1]