개발 공부/알고리즘

[프로그래머스 알고리즘] "수박수박수?" JavaScript / repeat ,substring

U_D 2022. 3. 14. 13:05

1. 문제 설명

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

 

 

2. 제한 조건

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

 

 

 

 

3. 예시

입력/출력

 

4. 풀이

[if / else 활용]

//if else로 푼 방식
function solution(n) {
    var answer = '';
    if (n % 2 === 0) {
        answer = "수박".repeat(n/2) + ""
    } else {
        answer = "수박".repeat(n/2) + "수"
    }
    return answer;
}

 

[한줄로 줄인 ver]

function solution(n){
  // n을 2로나눈 몫 만큼 곱하고 나머지가 있으면 '수' 더해라.
  return ("수박").repeat(n/2) + ((n%2) ? '수' : '');
}

 

 

[repeat / substring 활용]

수박을 n번 반복하고 문자열의 처음부터 n번째까지 잘라서 반환

function solution(n) {
    return "수박".repeat(n).substring(0,n)
}