난이도: Lv. 2
문제: https://school.programmers.co.kr/learn/courses/30/lessons/17687
알고리즘
1. 튜브가 마지막으로 말할 숫자의 인덱스는 p - 1 + m * (t - 1) 이므로 p + m * (t - 1) 길이만큼의 문자열을 구한다.
2. 1.에서 구한 문자열 중 튜브가 말해야 하는 숫자만 정답 문자열에 넣는다.
코드
function solution(n, t, m, p) {
var answer = '';
let numString = '';
const endLength = p + m * (t - 1);
let count = 0;
while (numString.length <= endLength) {
numString += count.toString(n);
count++;
}
for (let i = p - 1; i <= endLength; i += m) {
answer += numString[i].toUpperCase();
}
return answer;
}
주저리
아까 압축 문제 풀고 개빡친 상태였는데 이 문제는 또 너무 쉬워서 황당하다. 고민도 별로 안 했고 테스트도 한 번에 통과했다.
'코딩테스트' 카테고리의 다른 글
[JS] 게임 맵 최단거리 (0) | 2023.12.30 |
---|---|
[JS] 모음사전 (0) | 2023.12.28 |
[JS] [3차] 압축 (0) | 2023.12.26 |
[JS] k진수에서 소수 개수 구하기 (1) | 2023.12.24 |
[JS] 타겟 넘버 (1) | 2023.12.22 |