자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.
n | result |
---|---|
45 | 7 |
125 | 229 |
n(10) | n1(3) | n1(3)_reverse | n2(10) |
---|---|---|---|
45 | 1200 | 0021 | 7 |
def ten_to_three(x):
arr=[]
while True:
if x<3:
arr.append(x)
arr.reverse()
return arr #: 리스트로 반환
arr.append(x%3)
x=x//3
def solution(n):
re = ten_to_three(n)
finalRe=0
for i in range(len(re)):
finalRe+=(3**i)*int(re[i])
return finalRe
def ten_to_three(x):
arr=[]
while True:
if x<3:
arr.append(x)
arr.reverse()
return arr
arr.append(x%3)
x=x//3
def solution(n):
re = ten_to_three(n)
finalRe=0
for i in range(len(re)):
finalRe+=(3**i)*int(re[i])
return finalRe
다른 사람의 풀이 중 좋은 풀이를 가져와봤다
def solution(n):
tmp = ''
while n:
tmp += str(n % 3)
n = n // 3
answer = int(tmp, 3) # int()로 10진수
return answer