문제 설명
자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.
제한사항
입출력 예시
입출력 예 설명
입출력 예 #1
입출력 예 #2
접근법
divmod를 활용해 몫과 나머지를 구하면 더 쉽게 해결할 수 있다.
while 문의 조건 설정에서 약간의 실수가 있어
채점시에 문제가 있었지만 잘 해결할 수 있었다.
나머지는 10진수로 변환하는 과정을 단순히 코드로 구현하면 되기 때문에
자세한 설명은 생략한다.
===========================================================
def solution(n):
answer = 0
num_list = []
while True :
n, rest = divmod(n, 3)
num_list.append(rest)
if n==0:
break
for i in range(len(num_list)):
answer += num_list[i] * (3**(len(num_list)-i-1))
return answer