본문 바로가기
Algorithm/프로그래머스

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

by _temp 2022. 3. 30.
 

코딩테스트 연습 - 124 나라의 숫자

 

programmers.co.kr

 

def solution(n):
    dic = {1: 1, 2: 2, 0: 4}
    result = ''
    while n:
        result += str(dic[n % 3])
        n = n//3 if n % 3 else n//3-1
    return result[::-1]

 

풀이
1. 딕셔너리 정의 : 1, 2, 0 키를 각각 1, 2, 4 값으로 설정해준다.
2. 3진법을 이용해서 result에 추가해나간다. (단, 0이 없으므로 4를 사용할 때는 -1을 해주어야 함)
3. result를 역순으로 출력

 

사용할 수 있는 숫자는 1, 2, 4로 총 3개이므로 3진법을 이용해서 구해나갔다.

0은 사용할 수 없으므로 4를 사용할 때는 주의하도록 하자

 

기본 3진법 문제 : [프로그래머스] Lv1 - 3진법 뒤집기

 

[프로그래머스] Lv1 - 3진법 뒤집기 (파이썬)

https://programmers.co.kr/learn/courses/30/lessons/68935 코딩테스트 연습 - 3진법 뒤집기 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return..

2hs-rti.tistory.com