[Programmers] Lv.2 124 나라의 숫자 (python, js)

j-ij-i·2022년 12월 12일
1

알고리즘 문제풀이

목록 보기
3/10

문제 링크

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;
}
profile
안녕하세요, 프론트엔드를 좋아하는 개발자 jiji입니다.

0개의 댓글