프로그래머스 - 3진법 뒤집기 (Python)

조민수·2024년 1월 29일
0

Programmers

목록 보기
3/85

Lv1, 진법 변환


문제 설명

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

제한 사항

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

입출력 예시

n result
45 7
125 229

풀이

  1. 주어지는 수를 divmod()를 통해 3으로 나눠가며
  2. 발생하는 나머지를 차례로 더한다. <- 자동으로 역순으로 들어감
  3. int(문자열, base = ?) 를 통해 해당 문자열을 10진수로 변환.
def convert(n):
    tmp = ''
    while n > 0:
        n, mod = divmod(n, 3)
        tmp += str(mod)
    return tmp

def solution(n):
    answer = 0
    s = convert(n, 3)    
    return int(s, base = 3)

int()함수에 base라는게 있는 지 처음 알았다.

profile
사람을 좋아하는 Front-End 개발자

0개의 댓글