-
[Python] Programmers 124 나라의 숫자알고리즘/문제풀이 2021. 8. 20. 22:37728x90
1. 문제 링크
https://programmers.co.kr/learn/courses/30/lessons/12899
2. 문제 요약
- 기존 3진법 012와 다르게 124 나라에서는 124만 사용 가능하다.
- 10진법을 124 나라 숫자로 변환한다.
3. 아이디어 정리
- 124 나라 규칙을 찾아서 구현을 아래와 같이하였다.
- 3으로 나누어 떨어지지 않는 경우
- 나머지를 리스트에 넣는다.
- 3으로 나눈 몫을 n에 넣는다.
- 3으로 나누어 떨어지는 경우
- 4를 넣는다.
- 3으로 나눈 몫을 n에 넣는다.
- 몫은 1 제거해준다.
4. 문제 풀이
4-1. 내 풀이
def solution(n): result = list() while n: if n % 3 != 0: result.append(n % 3) # 나머지 넣기 n //= 3 else: result.append(4) # 일반적인 3 진법과 다름 - 나머지 0인 경우 4 넣어주기 n //= 3 n -= 1 # 몫하나 제거 return ''.join(map(str, result[::-1]))
5. 결론
- 3진법 변환과 동일해 보이지만 규칙이 달라서 다른 부분만 수정하면 된다.
'알고리즘 > 문제풀이' 카테고리의 다른 글
[Python] 백준 11659 구간 합 구하기 4 (0) 2021.09.04 [Python] Programmers 자동완성 (0) 2021.08.20 [Python] 백준 16235 나무 재테크 (0) 2021.08.20 [Python] 백준 21278 호석이 두 마리 치킨 (0) 2021.08.20 [Python] 백준 1956 운동 (0) 2021.08.14