🗃️javascript/프로그래머스

수박수박수박수박수박수?(Lv.1)[str.repeat(횟수)]

하얀성 2023. 1. 11. 12:56
문제 설명

 

길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.

제한 조건
  • n은 길이 10,000이하인 자연수입니다.
입출력 예nreturn
3 "수박수"
4 "수박수박"

<제출답안>

function solution(n) {
    return Array(n).fill(0).map((x,i) => i%2==0? x='수': x='박').join("")
}

그런데 다들 map보다는 repeat()를 통해서 많이 풀었더라.

 

const waterMelon = n => {
    return '수박'.repeat(n/2) + (n%2 === 1 ? '수' : '');
}

<보충>

String.prototype.repeat()

repeat()메서드는 문자열을 지정하여 그대로 반복해 붙인 새로운 문자열을 반환합니다.

 

str.repeat(count);
클립 보드에 복사

예제

'abc'.repeat(-1);   // RangeError
'abc'.repeat(0);    // ''
'abc'.repeat(1);    // 'abc'
'abc'.repeat(2);    // 'abcabc'
'abc'.repeat(3.5);  // 'abcabcabc' (count will be converted to integer)
'abc'.repeat(1/0);  // RangeError

({ toString: () => 'abc', repeat: String.prototype.repeat }).repeat(2);
// 'abcabc' (repeat() is a generic method)