알고리즘/프로그래머스

124 나라의 숫자 파이썬

을왕라 2020. 9. 2. 18:01

1. 문제

2. 풀이

def solution(div):
    answer = ""
    
    while div:
        div, mod = divmod(div, 3)
        answer = "412"[mod] + answer
        if not mod:
            div -= 1
            
    return answer

 

3. 다른사람풀이

def solution(n):
    num = ['1','2','4']
    answer = ""

    while n > 0:
        n -= 1
        answer = num[n % 3] + answer
        n //= 3

    return answer

3진수를 생각하고 문제를 풀면 된다.

0을 4로 바꾸고 몫에 -1을 해주는 일을 반복하면 

결국 012가 반복된다