프로그래머스

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

띵지니어 2023. 6. 24. 18:21

https://school.programmers.co.kr/learn/courses/30/lessons/68935

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

내 코드

def solution(n):
    answer = ''
    result = 0
    while n > 0:
        answer = str(n % 3) + answer
        n //= 3
    
    for i in range(len(answer)):
        result += (int(answer[i]) * 3**i)
        
    return result

 

Review

 

문제를 다 풀고 나서 남들이 푼 코드를 보다가 저번에 n 진법 관련 문제를 풀던 기억이 났다.

위의 코드를 int 내장함수를 통해 아래와 같이 풀 수도 있었다.

def solution(n):
    answer = ''
    while n > 0:
        answer += str(n % 3)
        n //= 3
        
    return int(answer, 3) # int 내장함수

 

⭐️ int(x, n)

 

n 진수로 나타나 있는 x를 10진수의 값으로 변환해 주는 함수이다.
x(n 진수) -> 10진수


ex )  '010'(3진수)의 값은?
          int('010', 3) = 6