https://school.programmers.co.kr/learn/courses/30/lessons/12899
1. 해결방법
우선 n이 3의 배수가 아니라면 3진법을 구하는 것과 동일하게 3으로 나눈 나머지를 저장하고, n을 3으로 나눈 몫으로 저장한다.
n이 3의 배수라면 무조건 4를 추가하고, n을 3으로 나눈 몫에서 1을 뺀 값을 저장한다.
2. 정답코드
def solution(n):
answer = ''
while n:
if n % 3 == 0:
answer = '4' + answer
n = n // 3 - 1
else:
answer = str(n % 3) + answer
n //= 3
return answer
이 문제는 풀지 못했다...
컨디션이 좋지 않아 두뇌 회전이 잘 안되는 것을 떠나서 3진법을 응용한 문자열 삽입하는 문제를 이해하긴 했지만 코드로 옮기지 못해서 틀린 문제이다.
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스] Lv.2 영어 끝말잇기 (0) | 2022.09.19 |
---|---|
[프로그래머스] Lv.2 멀쩡한 사각형 (2) | 2022.09.19 |
[프로그래머스] Lv.2 가장 큰 수 (0) | 2022.09.18 |
[프로그래머스] Lv.2 다리를 지나는 트럭 (0) | 2022.09.18 |
[프로그래머스] Lv.2 게임 맵 최단거리 (0) | 2022.09.18 |