๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ฝ”๋”ฉํ…Œ์ŠคํŠธ/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

[Javascript] 124 ๋‚˜๋ผ์˜ ์ˆซ์ž (12899)

๋ฌธ์ œ๋งํฌ

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - 124 ๋‚˜๋ผ์˜ ์ˆซ์ž

 

programmers.co.kr

 

์ ‘๊ทผ ๋ฐฉ๋ฒ•

1, 2, 3,  4,   5,   6,  7,  8,   9 , 10,  11,  12, 13,   14,   15,  16
1, 2, 4,  11, 12, 14, 21, 22, 24, 41,  42,  44, 111, 112, 114, 121

3์ง„๋ฒ•์„ 1,2,4๋กœ ํ‘œํ˜„ํ•œ ๋ฐฉ์‹์ด๋‹ค.

3์˜ ๋ฐฐ์ˆ˜๋งˆ๋‹ค ๋ณ€ํ•˜๊ณ  ๋ชซ = ์•ž์ž๋ฆฌ, ๋‚˜๋จธ์ง€ = ๋’ท์ž๋ฆฌ(1 = 1, 2 = 2, 3 = 4)์˜ ๊ตฌ์„ฑ์œผ๋กœ ๋˜์–ด์žˆ๋‹ค.

ํ•˜์ง€๋งŒ 3์œผ๋กœ ๋–จ์–ด์ง€๋Š” ๊ตฌ๊ฐ„(๋‚˜๋จธ์ง€๊ฐ€ 0)์ผ๋•Œ, ์ฆ‰ 3 => ๋ชซ 1, ๋‚˜๋จธ์ง€ 0 => ๋ชซ์ด 1์ž„์—๋„ 4๋กœ ํ‘œํ˜„๋œ๋‹ค.
6 => ๋ชซ2, ๋‚˜๋จธ์ง€0 => 24๊ฐ™์ง€๋งŒ 24๊ฐ€ ์•„๋‹Œ 14.
์ฆ‰ ๋‚˜๋จธ์ง€๊ฐ€ 0์ผ๋•Œ ๋ชซ์—์„œ 1์„ ๋นผ์•ผ ์ง„์งœ ๋‹ต์ด ๋‚˜์˜จ๋‹ค. 

 

function solution(n) {
    
    var answer = '';
    
    while(n>0){
        let rest = n%3;
        if(rest === 0){
            answer='4'+answer;
            n = parseInt(n/3)-1;
        }else if(rest === 1){
            answer='1'+answer;
            n = parseInt(n/3);
        }else{
            answer='2'+answer;
            n = parseInt(n/3);
        }
    }
    
    return answer;
}