eaz_coding

[Programmers] 3진법 뒤집기 본문

eaz_algorithm

[Programmers] 3진법 뒤집기

eaz_silver 2024. 1. 4. 14:34

문제

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


제한사항

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

풀이

def solution(n):
    answer = 0
    
    temp = ""
    while n > 2:
        temp += str(n%3)
        n //= 3
    temp += str(n)
    
    l = len(temp)
    for i in range(l):
        answer += (3**i)*int(temp[l-1-i])
    
    return answer

 

'eaz_algorithm' 카테고리의 다른 글

[Programmers] 짝지어 제거하기  (0) 2024.01.06
[Programmers] 튜플  (0) 2024.01.06
[Programmers] 이상한 문자열 만들기  (2) 2024.01.04
[Programmers] 시저 암호  (2) 2024.01.04
[Programmers] 행렬의 곱셈  (1) 2024.01.03