124 나라가 있습니다. 124 나라에서는 10진법이 아닌 다음과 같은 자신들만의 규칙으로 수를 표현합니다.
예를 들어서 124 나라에서 사용하는 숫자는 다음과 같이 변환됩니다.
1-1 6-14
2-2 7-21
3-4 8-22
4-11 9-24
5-12 10-41
(10진법- 124나라 진법)
자연수 n이 매개변수로 주어질 때, n을 124 나라에서 사용하는 숫자로 바꾼 값을 return 하도록 solution 함수를 완성해 주세요.
def solution(n):
ans = ''
arr = ["4", "1", "2"]
while n > 0:
ans = arr[n % 3] + ans
if not n % 3:
n = n // 3 - 1
else:
n = n // 3
return ans
모든 숫자를 1,2,4로만 표현하기 때문에 3진법과 유사하게 표현하면되는데 10진수 1,2,3을 봤을 때 1%3 = 1, 2%3 = 2, 3%3 = 0(4)로 표현된다. 그래서 나머지의 크기대로 나머지가 0이면 4, 1이면 1, 2이면 2로 표현하는 배열 arr = ["4", "1", "2"]를 만들고 n을 3으로 나눈 나머지에 해당하는 arr을 문자열에 저장하고 n이 3으로 나누어 떨어진다면 n을 3으로 나눈 몫 -1 을 n에 저장하고 그렇지 않다면 n을 3으로 나눈 몫만 저장한다.