[JavaScript][Programmers] N진수 게임

조준형·2021년 8월 20일
0

Algorithm

목록 보기
81/142
post-thumbnail

🔎 N진수 게임

❓ 문제링크

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

📄 제출 코드


// 진법 n, 
// 미리 구할 숫자의 갯수 t, 
// 게임에 참가하는 인원 m, 
// 튜브의 순서 p
function solution(n, t, m, p) {
  let answer = [];
  let arr = [0];
  let num = m * t;
  
  for (let i = 1; i <= num; i++) {
    arr.push(i.toString(n));
  }
  let str = arr.join('');
  let tube = [];
  for (let i = 0; i < t; i++) {
    tube.push(str[p-1]);
    p += m;
  }
  // console.log(tube.join(''));
  answer = tube.join('').toUpperCase();
  return answer;
}
let n = 2;
let t = 4;
let m = 2;
let p = 1;
console.log(solution(n, t, m, p));

생각한대로 한번에 풀렸던 문제다.
먼저 전체 숫자를 n진수로 바꾼 값을 arr에 저장해두고, t번 반복하면서 p-1번째 순서가 되면 해당 숫자를 tube에 넣어 마지막에 join()으로 문자열로 출력한다.
이 때 16진수의 경우 알파벳이 소문자로 출력되서 toUpperCase()를 사용해 대문자로 바꿔준다.

profile
깃허브 : github.com/JuneHyung

0개의 댓글