알고리즘, 자료구조/프로그래머스

[프로그래머스/javascript] 수박수박수박수박수박수?

soohkang 2021. 4. 5. 21:50
728x90

문제

정답 처리된 코드(1)

function solution(n) {
    var answer = '';
    let def = '수박';
    let def_len = def.length;
    if(n % def_len === 1){
        answer = def.repeat(n/def_len) + def[0].repeat(n % def_len);
    }
    if(n % def_len === 0){
        answer = def.repeat(n/def_len)
    }
    
    return answer;
}

 

 

문제 이해

1) 기본 값을 '수박'으로 지정, 기본 값 길이도 변수에 할당.

2) n값과 기본 값의 길이를 나누었을 때 나머지가 1이냐 0이냐고 구분하여 문자열 처리

 

 


 

정답 처리된 코드(2)

function solution(n) {
    var answer = '';
    answer = '수박'.repeat(n/2) + (n%2 === 1 ? '수' : '');
    return answer;
}

 

 

문제 이해

1) 기본값 '수박'을 n을 2로 나눈 몫만큼 반복한다.

2) n을 2로 나눈 나머지가 1일 경우에는 '수'를 덧붙여서 반복한다.

 

 

출처:

programmers.co.kr/learn/courses/30/lessons/12922?language=javascript

 

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

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

programmers.co.kr