programmers/level1

[level1] - 수박수박수박수박수박수?

태기의삶 2020. 6. 29. 00:44

 

 

 

코딩테스트 연습 - 수박수박수박수박수박수?

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

programmers.co.kr

문제 설명 :

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

입력 : "3"

출력 : "수박수"

 

접근 방법 :

수박수박수박수박수... 이렇게 나열된 모습을 보고 내 눈에는 홀수, 짝수, 홀수, 짝수... 이렇게 보였다. 순간적으로 떠오른 로직은 길이만큼 반복문을 돌리고 2로 나눴을 때, 나누어 떨어지지 않으면 "수"를 추가하고 만약, 나누어 떨어졌을 때는 "박"을 추가해 문제를 풀어보았다. 

 

코드 :

function solution(n) {
    let answer = '';
    for(let i = 1; i <= n; i++) {
       if(i%2 === 0) {
           answer += "박";
       }
        else {
            answer += "수";
        }
    }
    return answer;
}

 

프로그래머스에는 남이 푼 코드를 볼 수 있는 기능이 있는데 깔끔해서 가져와 보았다.

const waterMelon = n => "수박".repeat(n).slice(0,n);

repeat() 사용 방법 참고!

 

JavaScript / Object / String.repeat() / 문자열을 반복한 값을 반환하는 메서드

.repeat() .repeat() – 문자열을 반복한 값을 반환하는 메서드입니다. IE는 Edge부터 지원합니다. 문법 string.repeat( count ) 예제 'abc'.repeat( 2 ) abc를 두 번 반복한 abcabc를 반환합니다.

www.codingfactory.net