Python/Coding Test

[Coding Test] 3진법 뒤집기

gangee 2023. 7. 7. 04:36
728x90
반응형

프로그래머스 코딩테스트 1단계 : 3진법 뒤집기

문제 설명

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

문제 풀이

  • 3진수로 변환한 수를 담아줄 cvt 정의
  • while 반볻문을 통해 n이 0보다 클 때 코드를 계속 반복
  • divmod 함수를 통해 n을 3으로 나누었을 때 몫을 n, 나머지를 mod에 저장
  • 나머지의 값을 문자열로 변환하여 cvt에 넣어줌
  • 위에 반복문을 계속해서 실행하면 cvt에 n의 역순 3진수가 출력 됨
  • int 함수를 통해 cvt를 다시 3진수로 변환하여 출력
* 진수 변환에 관한 자세한 내용은 아래의 블로그 참고

Python 진법 변환

정답 코드

def solution(n):
    cvt = ''

    while n > 0:
        n, mod = divmod(n, 3)
        cvt += str(mod)

    return int(cvt, 3)
* 이 문제는 프로그래머스 코딩테스트 연습 1단계 문제입니다.
728x90
반응형