본문 바로가기

코딩테스트

[프로그래머스] 수박수박수박수박수박수? - js

문제설명 : 

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

 

 

나의 풀이 :

function solution(n) {
    return answer = Array.from({length: n}, (v,i) => {
        if(i%2 == 0) return '수' 
        else return '박'
    }).join('');
}

 

들어온 갯수만큼 배열을 만들어주고, 

짝수번째일 경우 '수'를 넣어주고,

홀수번째일 경우 '박'을 넣어줌으로

문제를 해결했다. 

 

 

다른 사람 풀이 : 

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

'수박'이라는 단어를 들어온 n갯수의 절반만큼 반복한 다음, 

n이 홀수인 경우 마지막에 '수'를 붙여주고,

짝수인 경우엔 그냥 리턴하는 방식으로 문제를 푼 것 같다.