3진법 뒤집기
📌 문제
자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.
⚠️ 제한사항
n은 1 이상 100,000,000 이하인 자연수입니다.
📋 코드
def solution(n):
change = []
while n >= 3:
rest = n % 3
change.append(str(rest))
n //= 3
change.append(str(n))
result = 0
for i in range(len(change)):
sup = len(change) - i - 1
result += int(change[i]) * 3 ** sup
return result
💡 한마디
앞뒤로 뒤집어주는 과정을 굳이 거치지 않고 리스트를 거꾸로 탐색했다.