문제를 접하고 처음 생각하였을 때 1, 2, 4로만 숫자를 표현한다는 것은 3진법으로 표현한 수랑 유사하다고 판단할 수 있다. 우선 10진법을 N진법으로 바꾸기 위해서는 N으로 나누어서 나머지를 적게 되면 쉽게 변환할 수 있다. 이 점을 이용하여 3으로 나누었을 때 나머지가 0이면 1, 나머지가 1이면 2, 나머지가 2이면 4로 answer에 추가하였다. 그 뒤에 최종적으로 변환하기 위해서 역순으로 출력해야 하는데 이는 answer[::-1]을 이용하여서 쉽게 변환할 수 있다.
answer = ''
while(n > 0):
n = n - 1
if n % 3 == 0:
answer += '1'
elif n % 3 == 1:
answer += '2'
else:
answer += '4'
n = n // 3
answer = answer[::-1]
return answer