프로그래머스 JS LV1

LV1 11 수박수박수박수박수박수?

와라리요 2022. 12. 14. 11:48

문제 설명

 - 길이가 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