https://school.programmers.co.kr/learn/courses/30/lessons/68935
자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.
제한사항
n은 1 이상 100,000,000 이하인 자연수입니다.
def solution(n):
res=''
answer = 0
# 3진법으로
while n!=0:
res= str(n%3)+res
n = n//3
# 앞 뒤 반전 없이 계산 ex) 0021을 10진수로 계산하기위해 1200인 상태에서 각 숫자 값*(각 숫자 인덱스**3)
for i in range(len(res)):
answer += int(res[i])*(3**i)
return answer
앞 뒤 반전 없이 계산한다는 건 아래 그림 참고하면 이해가 쉬움
int(tmp, 3)
: 문자열 tmp를 3진수로 바꿈
신기방기