[프로그래머스] [3차] n진수 게임 (JS)

hhkim·2023년 9월 13일
0

Algorithm - JavaScript

목록 보기
132/188
post-thumbnail

풀이 과정

  1. 숫자를 1씩 증가하면서 결과 배열 길이가 t가 될 때까지 반복
  2. 숫자를 n진수 문자열로 변환 후 이어붙이기: toString()
    이때 이전 마지막 인덱스를 기억
  3. 2번에서 기억한 인덱스보다 크면서 m으로 나눠서 나머지가 p - 1인 인덱스의 문자들을 결과 배열에 넣기

코드

function solution(n, t, m, p) {
  const result = [];
  const arr = [];
  let last = -1;
  for (let i = 0; result.length <= t; ++i) {
    arr.push(...i.toString(n).toUpperCase());
    result.push(...arr.filter((_, i) => i > last && i % m === p - 1));
    last = arr.length - 1;
  }
  return result.slice(0, t).join('');
}

0개의 댓글