🙂 문제 - 프로그래머스 3진법 뒤집기

url :https://programmers.co.kr/learn/courses/30/lessons/68935?language=python3

✔️ 문제 내용

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

❌ 제한 사항

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

🖐풀이 방법

쉬운 구현 - 난이도 1정도?

  • 주어진 n을 3진법으로 변환한다.
  • 변환된 수를 처음부터 반복문으로 읽는다.
  • 읽어온 수를 1부터 3의 배수로 증가하는 수에 곱해준다
    (1 term 3 multiply) ?
  • 딱히 수를 뒤집지 않은 이유는 앞에서부터 읽으면 결국 뒤집은 것과 같은 효과를 나타내기 때문

📃 CODE

def to_third(n):
    third = ""
    #3진법만들기
    while(n>0):
        third = str(n%3)+third
        n=n//3
    return third
def getans(to_):
    mul = 1
    ans = 0
    for val in to_:
        ans+=int(val)*mul
        mul*=3
    return ans
def solution(n):
    get_ = to_third(n)
    return getans(get_)
profile
느리지만 계속해서 성장의 가치를 알고 있습니다.

0개의 댓글

Powered by GraphCDN, the GraphQL CDN