[Programmers] - 3진법 뒤집기 (Level 1)


월간 코드 챌린지 시즌1
LEVEL : 1

문제 링크

n = 45
def solution(n):

    max_pos = 1
    while n/(3**max_pos) >= 1:
        max_pos+=1

    result = []
    for i in range(max_pos)[::-1]:
        for j in range(3)[::-1]:
            if n-(3**i*j) >= 0:
                n -= (3**i*j)
                result.append(str(j))
                break

    return int(''.join(result)[::-1],3)
solution(n)
7

Comments