반응형
👩🏫 문제설명
자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.
제한사항
- n은 1 이상 100,000,000 이하인 자연수입니다.
def solution(n):
strResult = ''
answer = 0
flag = True
mok = n
while (flag):
etc = (int)(mok % 3)
mok = (int)(mok / 3)
if n < 3:
flag = False
strResult = strResult + str(mok) + str(etc)
else:
if mok < 3:
flag = False
strResult = strResult + str(etc) + str(mok)
else:
strResult = strResult + str(etc)
strResult = ''.join(reversed(strResult))
for i in range(len(strResult)):
answer = answer + int(strResult[i]) * pow(3, i)
return answer
n이 3보다 작은 수인 경우 몫, 나머지 순서가 아닌 나머지, 순서로 계산되어 진다.
반응형
'Language > Python' 카테고리의 다른 글
재귀함수 (0) | 2020.12.21 |
---|---|
파이썬 stack과 queue (0) | 2020.12.21 |
파이썬 heapq (0) | 2020.12.16 |
파이썬 순열, 조합 (permutations , combinations, product, combination_with_replacement ) (0) | 2020.12.16 |
파이썬 알고리즘 공부할 때 알아놓으면 좋은 라이브러리 (0) | 2020.12.15 |