[programmers] 124나라의 숫자
def solution(n):
numbers = ['4', '1', '2']
answer = ''
while n:
answer = numbers[n % 3] + answer
n = n // 3 - (n % 3 == 0)
return answer
if __name__ == "__main__":
n = int(input())
print(solution(n))
우선 n이 3의 배수가 아니라면 3진법을 구하는 것과 동일하게 3으로 나눈 나머지를 저장하고, n을 3으로 나눈 몫으로 저장한다.
n이 3의 배수라면 무조건 4를 추가하고, n을 3으로 나눈 몫에서 1을 뺀 값을 저장한다.
위 과정을 마치면 answer에는 숫자가 저장될 것인데 뒤에서부터 구했기 때문에 역순으로 저장되어 있다.
answer[::-1]로 간단하게 다시 역순으로 뒤집을 수 있다.
댓글남기기