문제

programmers.co.kr/learn/courses/30/lessons/68935

 

코딩테스트 연습 - 3진법 뒤집기

자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수

programmers.co.kr

 

문제풀이

divmod 함수를 사용하여 계속해서 n을 3으로나누고  나머지를 three 문자열에 추가해주고

int()함수의 Base를 이용하여 10진법으로변환 해준다.

코드

def solution(n):

    three = ''

    # 3진법 변환
    while n>2 :
        n,m = divmod(n,3)
        three += str(m)

    three += str(n)

    # 10진법으로 변환
    return int(three,3)
ariz1623