문제 설명 및 제한사항
아이디어 및 해결 방법
코드
def solution(n):
answer = []
# 일의 자리
answer.append([4, 1, 2][n % 3])
i = 1
dsum = int(3 / 2 * (3**i - 1))
while n > dsum:
d = 3**i
answer.append([1, 2, 4][((n-dsum-1) % (3*d)) // d])
i += 1
dsum = int(3 / 2 * (3**i - 1))
return ''.join(map(str, answer))[::-1]
Python
복사
출처
프로그래머스 코딩테스트 연습 https://school.programmers.co.kr/learn/challenges