개발 공부/알고리즘 문제 풀이

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

종범2 2020. 6. 11. 08:54

문제

프로그래머스 2018 KAKAO BLIND RECRUITMENT [3차] n진수 게임

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

 

코딩테스트 연습 - [3차] n진수 게임

N진수 게임 튜브가 활동하는 코딩 동아리에서는 전통적으로 해오는 게임이 있다. 이 게임은 여러 사람이 둥글게 앉아서 숫자를 하나씩 차례대로 말하는 게임인데, 규칙은 다음과 같다. 숫자를 0�

programmers.co.kr

언어

바스크립트(JavaScript)

 

접근 방법

  1. 문자열 str에 n진수로 변환한 숫자를 문자열로 변환하여 더한다.
  2. 이때 문자열 길이가 t*m이 될 때까지 변환한 문자열을 더한다.
  3. 문자열의 모든 문자들 중에 p 번째만 따로 뽑아서 새로운 문자열에 더한다. 이때 새로운 문자열 길이가 t가 되면 중단한다.

코드

function solution(n, t, m, p) {
    let answer = '';
    // 문자열 str에 변환한 숫자를 문자열로 변환하여 붙인다
    // 이때 문자열 길이가 t * m 가 될때까지 변환 문자열을 더한다
    let str = ''
    let num = 0;
    while(str.length <= t*m){
        str += num.toString(n).toUpperCase();
        num ++;
    }
    console.log(str);
    // p 번째만 따로 뽑아서 출력한다
    let cnt =0;
    for (let i=0; i<str.length; i++){
        if (cnt === t)
            break;
        if (i%m === p-1){
            answer += str[i];
            cnt ++;
        }
    }
    console.log(answer);
    return answer;
}

복기

  1. 어렵지 않게 풀었다.
  2. 어떻게 풀지 미리 적어놓고 풀면 더 빨리 풀 수 있다.