[Algorithm] [3차] n진수 게임
공부

[Algorithm] [3차] n진수 게임

작성일: 2023년 10월 30일

문제설명

[[3차] n진수 게임](https://school.programmers.co.kr/learn/courses/30/lessons/17687)은 진법 n, 미리 구할 숫자의 갯수 t, 게임에 참가하는 인원 m, 튜브의 순서 p 가 주어진다. 게임에 등장하는 모든 문자는 0부터 t * m까지의 수를 n진법으로 변환한 문자열이며 이 중 튜브의 순서 p에 해당하는 문자를 공백없이 더하여 반환하는 문제이다.

문제해결

  • 0부터 t * m까지의 수를 n진법으로 변환한 문자열 game을 할당한다.
  • 진법 변환과 대문자로 전환하는 메서드를 사용한다.

    루프 조건은 게임에 등장하는 문자열이 전체 턴 수와 같아질 때까지

       let game = '';
       const max = t * m;
    let num = 0;
    
       while (game.length < max) {
           game += num.toString(n).toUpperCase();
           num++;
       }
    
  • p - 1 (턴의 초기값)부터 전체 턴 수와 같아질 때까지 턴을 증가시키며 결과값에 game에서 해당 턴의 문자열을 결과값에 더해준다.
  • let result = '';
    
    for (let i = p - 1; i < max; i+=m) {
        result += game[i];
    }
    
    return result