https://programmers.co.kr/learn/courses/30/lessons/12899
일의 자리 값이 숫자 3개마다 1, 2, 4 순서로 규칙을 갖는 것을 보고 3으로 나눈 나머지에 따라 (나머지가 0일 때는 4로 생각) 값을 추가하면 되겠다고 생각했다.
그래서 3으로 나눠가며 여러 숫자를 확인해봤는데 뭔가 안 맞았다. 예를 들면 3, 6처럼 3으로 나누어 떨어지는 숫자에서 몫이 어딘가 이상했다. 그래서 한 번 1을 빼볼까 싶어서 해봤는데 문제가 풀렸다. 얼떨결에 푼 것 같다..
def solution(n):
answer = ''
# 나머지를 추가할 때 삼항연산자를 이용해서 코드를 작성했었는데 다른 사람 코드를 참고해서 아래와 같이 수정했다
# 이렇게 쓰는 게 훨씬 가독성이 좋은 듯하다
nums = ['4', '1', '2']
while n > 0:
answer = nums[n % 3] + answer
n = (n - 1) // 3
return answer