문제 링크
link 📃
문제 풀이
- 3진법을 구하는 것 처럼 주어지는 n을 3으로 나누면서 나머지가 1이면 1, 2면 2, 0이면 4가 되게 answer에다가 추가해주고, 나머지가 0일때는 몫이 -1만큼 더해주었다.
- 나머지가 0일때는 나누어 떨어지기 때문에 몫이 -1만큼 적게 체크한다.
ex) n=3일때, 몫이 1, 나머지가 0이지만 answer는 4 한자리수로 나와야 하기 때문에 몫에는 -1을 하여 n을 0으로 만들어 준다.
- n을 3으로 나눈 몫을 계속 n으로 갱신해주면서 n이 0이 될때까지 while문을 사용해서 반복해줬다.
해결 코드
Python
def solution(n):
answer = ''
n = int(n)
while n > 0:
a = n // 3
b = n % 3
if b == 0:
b = 4
a -= 1
n = a
answer = str(b)+answer
return answer
javascript
function solution(n) {
var answer = '';
while(n > 0){
a = parseInt(n / 3)
b = n % 3
if(b == 0){
b = 4
a -= 1
}
n = a
answer = (b) + answer
}
return answer;
}