[PS] 프로그래머스(Level2) - 124 나라의 숫자 - JavaScript

정현섭·2021년 5월 3일
0

문제

프로그래머스(Level2) - 124 나라의 숫자
링크

코드 및 감상

처음 코드

//programmes : 124 나라의 숫자(level 2)
function solution(n) {
    let answer = '';
    
    while(n) {
        let rem = n % 3;
        n = parseInt(n / 3);
        
        if(rem === 0) {
            answer = '4' + answer;
            n -= 1;
        } else if(rem === 1) {
            answer = '1' + answer;
        } else {
            answer = '2' + answer;            
        }
    }
    
    return answer;
}

규칙을 빨리 못찾아서 쩔쩔맸다..
나 왜이리 약해졌지..?

그리고 정수 나눴을 때 실수(real number)로 되는거 계속 깜빡한다..
parseInt() 까먹지 말자.

개선된 코드

function solution(n) {
    if(n === 0) return '';
    
    let answer = solution(parseInt((n - 1) / 3)) + [4, 1, 2][n % 3];
    
    return answer;
}

재귀적인 규칙을 찾았다.

0개의 댓글