I about me

[Python] 3진법 뒤집기 본문

Algorithm/프로그래머스

[Python] 3진법 뒤집기

ssungni 2024. 5. 29. 20:44

 

문제 설명

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

제한사항

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

입출력 예

n result
45 7
125 229

 

문제 풀이

  • 이 내용을 알았더라면...?
 

파이썬 진수변환(2진법, 3진법, 5진법, 10진법)[n진법]

python에서는 기본적으로 int() 라는 함수를 지원한다int(string, base)2051104185276710진수로 변경이 가능하다.2, 8, 16진수는 bin(), oct(), hex() 함수를 지원한다.0b10110o130xb0b는 2진수, 0o는 8진수,

velog.io

문제 요구 사항에 따라 ① → ② → ③ → ④ 이지만, 사실 코드 구현상  ①  ③ →  이므로 를 생략하고자 한다!

def solution(n):
    answer = ""
    while n > 0:
        n, rest = divmod(n, 3) # 몫과 나머지
        answer += str(rest)
    
    answer = int(answer, 3)
    return answer