반응형
문제
https://programmers.co.kr/learn/courses/30/lessons/12899
풀이
def solution(n):
bs = ""
while n:
b = n % 3
n = n // 3
bs = "412"[b] + bs
if not b:
n -= 1
return bs
- 값을 3으로 나눠가며 그 나머지가 0일 경우 4, 나머지가 1일 경우 1, 나머지가 2일 경우 2를 추가한다.
- 나머지가 0이라는 것은 3으로 딱 나누어 떨어진다는 뜻이므로 몫에서 1을 빼주어야만 한다
- 나머지가 0일경우 몫에서 1을 빼준다는 포인트를 잡지 못해 많이 헤맸던 문제이다.
반응형
'💻 CS > 알고리즘 연습' 카테고리의 다른 글
[알고리즘 연습] 수식최대화 (프로그래머스 lv2, 파이썬) (0) | 2021.06.10 |
---|---|
[알고리즘 연습] 더 맵게 (프로그래머스 lv2, 파이썬) (0) | 2021.06.09 |
[알고리즘 연습] 실패율 (프로그래머스 lv1, 파이썬) (0) | 2021.06.08 |
[알고리즘 연습] 체육복 (프로그래머스 lv1, 파이썬) (0) | 2021.06.07 |
[알고리즘 연습] 쇠막대기 (백준 10799, 파이썬) (1) | 2021.05.07 |