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
    반응형

    'Python > Coding Test' 카테고리의 다른 글

    [Coding Test] 삼총사  (0) 2023.07.13
    [Coding Test] 숫자의 표현  (0) 2023.07.08
    [Coding Test] 이진 변환 반복하기  (0) 2023.07.07
    [Coding Test] 기능개발  (0) 2023.07.04
    [Coding Test] 올바른 괄호  (0) 2023.06.28