kakasoo

[node.js] n진수 게임 ( 프로그래머스 레벨2 ) 본문

프로그래밍/알고리즘 풀이

[node.js] n진수 게임 ( 프로그래머스 레벨2 )

카카수(kakasoo) 2021. 7. 7. 15:51
반응형
// 프로그래머스 레벨2 n진수 게임을 풀었습니다.
// 제너레이터를 활용한 풀이

function* printNumbers(start, n) {
    for (let i = start; i < Infinity; i++) {
        const curNumber = Number(i).toString(n).split("");
        for (let j = 0; j < curNumber.length; j++) {
            yield curNumber[j].toUpperCase();
        }
    }
}

const solution = (n, t, m, p) => {
    const iter = printNumbers(0, n);

    const answer = [];
    for (let i = 0; i < t * m; i++) {
        answer.push(iter.next().value);
    }

    return answer.filter((el, i) => i % m === p - 1).join("");
};

제너레이터를 활용하여 풀었다.
제너레이터는 알고 있어도 활용하기 어려운데, 이번에는 그걸 활용할 만한 문제였던 거 같다.
사실 이렇게 안해도 풀 수는 있겠으나, 활용하면 더 편리했다.
딱 좋은 문제였다.

반응형