n개의 문자를 보여주는 크기가 n인 전광판이 있습니다. 전광판의 문자는 오른쪽에서 왼쪽으로 반복해서 흘러가며, 1초에 한 글자씩 흘러갑니다.
예를 들어, 크기가 5인 전광판에 "Snowball" 노출한다고 가정할 때, 시간 t의 변화에 따른 노출 예시는 다음과 같습니다.
0s : '.....' 1s : '....S' 5s : 'Snowb' 10s : 'all..' 15s : '...Sn'
전광판의 크기 n과 전광판에 노출할 문자 s 그리고 시간 t가 주어질 때, t 초 후의 전광판에 표시될 문구를 출력하는 함수, solution을 완성해주세요.
제한 사항
전광판의 문자는 1초부터 흐르기 시작합니다.입력 형식
- n은 1 이상 50 이하의 정수입니다.
- s는 길이가 1 이상 100 이하의 문자열입니다.
- s는 알파벳 대/소문자와 숫자로 구성됩니다.
- t는 1 이상 1000 이하의 정수입니다.
출력 형식
- t 초 후, 주어진 전광판에 노출되는 문자를 출력합니다.
- 전광판의 공백은 마침표(".")로 대체하여 출력합니다.
function solution(n,s,t){
const text = '.'.repeat(n) + s + '.'.repeat(n - 1);
// 반복주기
const duration = n + s.length; // 전광판의 크기 + 문자의 길이
// 반복되는 주기를 '제외하고 남은 시간'
const time = t % duration; // 시간 나누기 반복주기의 나머지
result = text.substr(time ,n);
return result;
}
repeat()
: 문자열을 주어진 횟수만큼 반복해 붙인 새로운 문자열을 반환합니다.
substr()
: 문자열에서 특정 위치에서 시작하여 특정 문자 수 만큼의 문자들을 반환합니다.