TIL 231213 algorithm 수박수박수박수박수박수?

두두맨·2023년 12월 14일
1



n이 3이면 수박수, n이 4면 수박수박이 나와야 한다.
짝수인 경우, 홀수인 경우로 나누어서 풀고,
for문으로 n 전체를 돌고, 조건문으로 두가지 경우를 적어주면 되겠다고 생각했다.

풀이


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

인덱스는 0부터 시작하기 때문에 조건문을 i로 묶어 주었고,
2로 나누었을 때 0, 짝수는 나머지가 0이므로 결과 값인 answer에 '수'를 더해주고
그 외의 경우는 홀수이므로 answer에 '박'을 더해주었다.
마지막으로 answer를 return 해주면 성공.


다른 풀이 1.

var solution = n =>'수박'.repeat(n/2) + (n%2 === 1 ? '수' : '');

'수박' 이라는 문자열을 repeat 메서드 사용해서 반복해준다.
n을 2로 나누어줬을 때 짝수이면 아무것도 더해주지 않고, 홀수면 '수'를 더해주도록 삼항연산자를 추가해주면 성공.


다른 풀이 2.

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

다른 풀이 1과 유사한 풀이다.
근데 굳이 n을 2로 나누어주지 않고, slice 메서드를 이용해 문자열 시작인 0부터 n까지 잘라주면 성공.

profile
병아리 개발준비생 🐥

0개의 댓글