나의 답 :
def solution(n):
answer=[]
n-=1
if n<3:
return '124'[n]
else:
a,b=divmod(n,3)
return solution(a) + '124'[b]
다른 사람의 답 :
def change124(n):
num = ['1','2','4']
answer = ""
while n > 0:
n -= 1
answer = num[n % 3] + answer
n //= 3
return answer
3진법을 활용하는 문제였다. 재귀로 풀겠다는 생각에 시간이 오래 걸렸다.
'공부 > 코딩테스트' 카테고리의 다른 글
[프로그래머스] 기능개발(파이썬) (0) | 2021.01.26 |
---|---|
[프로그래머스] 주식가격(파이썬) (0) | 2021.01.22 |
[프로그래머스] 멀쩡한 사각형(파이썬) (0) | 2021.01.19 |
[프로그래머스] 프린터(스택/큐) (0) | 2021.01.15 |
[프로그래머스] 2018 KAKAO BLIND RECRUITMENT 다트 게임(파이썬) (0) | 2021.01.14 |