[Python] 프로그래머스 124 나라의 숫자

Ronnie Ryu·2022년 12월 26일
0

프로그래머스

목록 보기
1/2

문제 및 요구사항

해결 방법

문제를 접하고 처음 생각하였을 때 1, 2, 4로만 숫자를 표현한다는 것은 3진법으로 표현한 수랑 유사하다고 판단할 수 있다. 우선 10진법을 N진법으로 바꾸기 위해서는 N으로 나누어서 나머지를 적게 되면 쉽게 변환할 수 있다. 이 점을 이용하여 3으로 나누었을 때 나머지가 0이면 1, 나머지가 1이면 2, 나머지가 2이면 4로 answer에 추가하였다. 그 뒤에 최종적으로 변환하기 위해서 역순으로 출력해야 하는데 이는 answer[::-1]을 이용하여서 쉽게 변환할 수 있다.

작성한 답안

    answer = ''
    while(n > 0):
        n = n - 1
        if n % 3 == 0:
            answer += '1'
        elif n % 3 == 1:
            answer += '2'
        else:
            answer += '4'
        n = n // 3
    answer = answer[::-1]
    return answer
profile
Working & Development

0개의 댓글