[프로그래머스 Lv.2] 124 나라의 숫자

김민지·2024년 5월 14일
0

✨ 정답 ✨

function solution(n) {
    var answer = '';
    let digits = 0;

    let temp = n;
    while (temp > 0) {
        digits++;
        temp = Math.floor((temp - 1) / 3);
    }

    for (let i = digits; i > 0; i--) {
        let remainder = (n - 1) % 3; 
        if (remainder === 0) {
            answer = '1' + answer;
        } else if (remainder === 1) {
            answer = '2' + answer;
        } else if (remainder === 2) {
            answer = '4' + answer;
        }
        n = Math.floor((n - 1) / 3);
    }

    return answer;
}


// 시간초과 코드
function solution(n) {
    var answer = '';
    let digits = Math.ceil(n / 3);

    for (let i = digits; i > 0; i--) {
        let remainder = (n - 1) % 3;
        if (remainder === 0) {
            answer = '1' + answer;
        } else if (remainder === 1) {
            answer = '2' + answer;
        } else if (remainder === 2) {
            answer = '4' + answer;
        }
        n = Math.floor((n - 1) / 3); 
    }

    return answer;
}

🧵 참고한 정답지 🧵

💡💡 해설 💡💡

내 코드 설명
자릿수를 먼저 구하고 그에 맞춰서 숫자를 하나씩 채워나가려 했는데 시간초과가 떴다. 왜 그런지는 잘 모르겠다.

profile
이건 대체 어떻게 만든 거지?

0개의 댓글

관련 채용 정보