[프로그래머스] Lv.1 수박수박수박수박수박수? - JS

문제 설명

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

제한사항

  • n은 길이 10,000이하인 자연수입니다.

입출력 예

n return
3 “수박수”
4 “수박수박”

풀이

function solution(n) {
    let answer = '';
    for (let i = 1; i <= n; i++) {
        answer += i % 2 ? '' : '';
    }
    return answer;
}

개선

function solution(n) {
    const str = '수박';
    return str.repeat(n / str.length + 1).slice(0, n);
}

repeat 함수에 +1을 줘서 한번 더 반복 후 n의 길이만큼 자르는 코드
str 변수 선언해서 str.length로 반복 횟수 계산할 경우 값이 바뀌어도 코드는 정상 동작

결과

result

문제 출처 - 알고리즘

댓글남기기