티스토리 뷰

320x100

2021년 2월 10일 Velog에서 옮겨온 글입니다.

프로그래머스 - 124 나라의 숫자
function solution(n) {
    let answer = '';
    while (n > 0) {
        answer = (n % 3 || 4) + answer;
        n = Math.floor((n - 1) / 3);
    }
    return answer;
}

3진법을 구할 때와 비슷하게 계산합니다.
단, n을 3으로 나눈 나머지가 1이나 2일 경우에는 그대로 사용하고, 나머지가 0인 경우에는 0 대신 4를 사용하며 n - 1로 몫을 구합니다.
나머지가 0일 경우, 3진법에서는 10으로 표기되는데, 124 나라에서는 4로 표기되므로 몫을 구할 때 -1을 해주어야 합니다.
(나머지가 1이나 2일 경우, n / 3이나 (n - 1) / 3이나 같은 값이므로 나머지가 0인 경우의 분기를 따로 하지 않았습니다.)

320x100
댓글