Coding test

[프로그래머스] 수박수박수박수박수박수 (Level 1)

Jiwoo 2022. 3. 22. 21:17

문제

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

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

 

나의 풀이

function solution(n) {

    let answer = "";

    for(let i = 1; i <= n; i++) {

        if(i%2 === 0) {
            answer += "박"
        } else {
            answer += "수"
        }
    }
    return answer;
}

사실 첫 번째 오답은 아예 엉망이었다(...)
"수박"을 하나로 묶어서 출력하려고 했더니 너무 복잡해졌기 때문이다.
힌트를 얻어 위 코드를 재작성했지만, }를 빼먹고 return answer을 한 줄 위에 쓰는 등의 실수가 있어 에러가 떴다.
겨우 찾아내서 고친 코드.
하지만 해답을 보니 repeat 을 이용해서 훨씬 간단하게 작성할 수 있었다.

 

 

해답

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

str.repeat(n) 문자열 n번 반복