[Level2] 124 나라의 숫자

Quesuemon·2021년 3월 28일
0

코딩테스트 준비

목록 보기
25/111

🛠 문제

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


👩🏻‍💻 해결 방법

규칙을 찾는 것이 중요한 문제였다
n이 0이 될 때까지 3으로 나누는데 나머지가 1이면 1, 2면 2, 0이면 4를 문자열의 앞에 붙여줘야 했다
단, 나머지가 0일 경우는 몫에서 -1을 빼주어야 했다
몫과 나머지를 구해주는 divmod()를 사용하였다

소스 코드

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

💡 다른 사람의 풀이

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


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

    return answer

0개의 댓글

관련 채용 정보