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진법 뒤집기
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스] Lv2 - 행렬 테두리 회전하기 (파이썬) (0) | 2022.03.31 |
---|---|
[프로그래머스] Lv2 - 짝지어 제거하기 (파이썬) (0) | 2022.03.30 |
[프로그래머스] Lv2 - 멀쩡한 사각형 (파이썬) (0) | 2022.03.29 |
[프로그래머스] Lv2 - 문자열 압축 (파이썬) (0) | 2022.03.29 |
[프로그래머스] Lv1 - 직사각형 별찍기 (파이썬) (0) | 2022.03.27 |