업데이트:

❓ 문제


자연수 n이 매개변수로 주어집니다.

n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.

>  제한 조건


  • n은 1 이상 100,000,000 이하인 자연수입니다.

✔️ 풀이


1
2
3
4
5
6
def solution(n):
    tmp = ''
    while n:
        n, p = divmod(n, 3)
        tmp += str(p)
    return int(tmp, 3)

몫과 나머지를 한번에 반환해주는 divmod()를 사용해주었다.

하지만 divmod()는 작은 숫자보다는 큰 숫자에 사용하는 게 더 좋다고 한다…

Notice: 이 게시물은 programmers.co.kr 사이트를 참고하였습니다.

댓글남기기