https://programmers.co.kr/learn/courses/30/lessons/17687
이진수로 진행하는 게임에 익숙해져 질려가던 사람들은 좀 더 난이도를 높이기 위해 이진법에서 십육진법까지 모든 진법으로 게임을 진행해보기로 했다. 숫자 게임이 익숙하지 않은 튜브는 게임에 져서 벌칙을 받는 굴욕을 피하기 위해, 자신이 말해야 하는 숫자를 스마트폰에 미리 출력해주는 프로그램을 만들려고 한다. 튜브의 프로그램을 구현하라.
진법 n, 미리 구할 숫자의 갯수 t, 게임에 참가하는 인원 m, 튜브의 순서 p 가 주어진다.
필자가 푼 문제풀이
function solution(n, t, m, p) {
let answer = "";
let candidate = "";
for (let i = 0; i < t * m; i++) {
candidate += (i.toString(n).toUpperCase());
}
for (let j = p - 1; j < t * m; j += m) {
answer += candidate[j];
}
return answer;
}
생각보다 간단한 문제였다.
일단 t와 m을 곱한 만큼의 숫자들을 만들어준다.
그 다음 튜브의 순서만큼 꺼내주어 대답을 넣어주면 답이 완성된다.
2022.02.08