새소식

🧇 Algorithm/프로그래머스

[코딩테스트 연습] - 3진법 뒤집기 📆

  • -
728x90

📆 월간 코드 챌린지 시즌1

 

문제 설명

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

 

제한 사항

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

입출력 예

n result
45 7
125 229

 

나의 코드

def solution(n):
    answer = 0

    s = ""
    while n >= 3:
        s = str(n % 3) + s
        n //= 3
    s = str(n) + s

    answer = int(s[::-1], 3)

    return answer
  • 진법 변환 문제는 자주 풀어봐서 쉬운 문제였다.
  • s[ : : -1] 로 string을 반대로 뒤집는다.
  • int(string, n) : string을 n진수로 인식하여 10진수 int형으로 변환!
728x90
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.