문제 설명
- 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.
제한 조건
- n은 길이 10,000이하인 자연수입니다.
입출력 예
n | return |
3 | "수박수" |
4 | "수박수박" |
나만의 풀이
고민을 했다. 우선 쉽게 생각나는 것은 문자열로 수박과 빈 배열을 선언하고 반복문, 조건문, join을 이용하는 것인데, 런타임도 길고 비효율 적이다 라고 생각이 되서 그렇다. 문뜩 문자열을 반복해서 찍어주는 메서드가 있을 것 같아 찾아보니 repeat()가 나왔다. 첫 인자로 주어진 숫자형 만큼 반복해서 찍고 문자열로 반환하는 것이였다.
그래서 n / 2하고 올림을 한 후 slice()로 n만큼만 짤라서 반환하면 된다.
function solution(n) {
return '수박'.repeat(Math.ceil(n / 2)).slice(0 ,n);
}
'프로그래머스 JS LV1' 카테고리의 다른 글
LV1 12 문자열 내림차순으로 배치하기 (0) | 2022.12.15 |
---|---|
LV1 11 내적 (0) | 2022.12.15 |
LV1 10 가운데 글자 가져오기 (0) | 2022.12.14 |
LV1 09 없는 숫자 더하기 (0) | 2022.12.13 |
LV1 08 음양 더하기 (2) | 2022.12.13 |