[JavaScript][Programmers] 124나라의 숫자

조준형·2021년 7월 14일
0

Algorithm

목록 보기
32/142
post-thumbnail

🔎 124나라의 숫자

❓ 문제링크

https://programmers.co.kr/learn/courses/30/lessons/12899

📄 제출 코드

function solution(n) { 
    var answer = '';

    while (n > 0) {
        switch ((n % 3)) {
            case 0:
                answer =  '4' + answer;
                n = n/3 -1;
                break;
            case 1:
                answer = '1' + answer;
                n = Math.floor(n / 3);
                break;
            case 2:
                answer = '2' + answer;
                n = Math.floor(n / 3);
                break;
        }
	}
    return answer;
}
let n = 4;
console.log(solution(n));

이 문제는 3진법인데, 3이아니라 4가 들어가는 3진법이다.
toString(3)으로 바꾸고 생각해보려다가 n = 3의 경우 3진법은 10, 이문제의 경우 4로 나와야한다. 그래서 그냥 아예 새로 만들어야했다.

n이 0보다 클 때 나머지가 0,1,2인 경우로 나눠서 생각했다.
각 케이스별로 맞는 글자를 answer에 추가하는 방식으로 답을 도출했다.
Math.floor은 소수점이 생기면 0.3333333~~~ 인경우 n >0이 되서 다시 반복을 돌게된다.
그래서 Math.floor로 소수뒤에자리는 다 버림을 하였다.

profile
깃허브 : github.com/JuneHyung

0개의 댓글