[프로그래머스][JS]n진수 게임

Kyle·2021년 1월 4일
0

problem solving

목록 보기
26/36

N진수 게임

문제

문제: https://programmers.co.kr/learn/courses/30/lessons/17687

  • n: 진법
  • t: 미리 구할 숫자의 갯수
  • m: 게임 참가 인원
  • p: 튜브의 순서

0부터 시작되는 숫자를 진법에 따라 변환한뒤 튜브의 순서마다의 숫자를 구하는 게임

해결방법

  1. answer-튜브가 말할 숫자 === t 가 되면 while문을 종료 시킨다.
  2. tmp 배열안에 n진법으로 변환한 숫자를 split('')해서 넣는다.
  3. tmp 앞에 숫자(nowNum)을 빼와서 튜브 차례가 되면 넣어준다.
  4. i(순서) 순서가 한바퀴 다돌면(i > m) 다시 i=1로 초기화 시켜준다.

code

function solution(n, t, m, p) {
  const answer = [];
  let tmp = [];
  let i = 1;
  let num = 0;
  while (answer.length !== t) {
    if (!tmp.length) {
      tmp = num.toString(n).split('');
      num++;
    }
    const nowNum = tmp.shift();
    if (i === p) answer.push(nowNum);
    i++;
    if (i > m) i = 1;
  }
  return answer.map((v) => v.toUpperCase()).join('');
}

마무리

오늘 마스터즈 코스 시작한 첫날이어서 집중력이 많이 약해졌었는데 쉬운 문제가 나와서 편하게 해결했다.

profile
Kyle 발전기

0개의 댓글