[Python] 프로그래머스(Lv2) - 124 나라의 숫자

Kerri·2021년 3월 17일
0

코테

목록 보기
20/67

안녕하세요 :)

https://programmers.co.kr/learn/courses/30/lessons/12899

진법변환처럼 for 나 while 써도 될 거 같은데 dfs 재귀로 풀었습니다 ….

3으로 나눈 몫으로 dfs를 돌렸고 3으로 나눈 나머지를 이어 붙이는 형식으로 풀었습니다.

뒤에 이어 붙어주고 마지막에 reverse 하면 답이 나옵니다 !

def solution(n):
    arr = '124'
    if n <= 3:
        return arr[n - 1]
    n -= 1
    
    result = []
    
    def dfs(n):
        if n < 3:
            result.append(arr[n])
            return
        
        result.append(arr[n % 3])
        dfs(n // 3 - 1)
        
    dfs(n)
    
    return ''.join(reversed(result))
profile
안녕하세요 !

0개의 댓글