Development

[프로그래머스] 3진법 뒤집기 본문

코딩테스트/Python

[프로그래머스] 3진법 뒤집기

yo~og 2021. 9. 5. 23:50
반응형

내 코드

def solution(n):
    a = ''
    
    while n>=3:
        a += str(n%3)
        n = n//3
    a+=str(n)
    
    a = int(a)
    
    return sum([int(j)*(3**(len(str(a))-i-1)) for i,j in enumerate(str(a))])

a에 3진법 뒤집은 수를 저장하고 10진법으로 바꿔서 출력하였다.

 

다른사람 코드

def solution(n):
    tmp = ''
    while n:
        tmp += str(n % 3)
        n = n // 3

    answer = int(tmp, 3)
    return answer

n을 while문을 돌릴때 0보다 크게하면 나처럼 마지막에 한번더 더해줄필요가 없다. 10진법으로 바꿀때는 int(tmp,3)이렇게 적으면 바로 10진법이 출력된다. 이때 int안의 3진법 인자는 문자열이여야한다.

반응형
Comments