[Programmers] 수박수박수박수박수박수?

2022. 10. 20. 20:11기록/Programmers

    목차

문제 설명

길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요.

예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.

 

제한 사항

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

 

입출력 예

n return
3 "수박수"
4 "수박수박"

 


나의 문제 풀이

function solution(n) {
    let answer = '';
    
    for (let i = 1; i <= n; i++) {
        answer += i % 2 ? "수" : "박";
    }
    return answer;
}
  • 1부터 주어진 길이의 숫자 까지 반복하면서 해당 숫자가 홀수일 경우 "수", 짝수일 경우 "박"을 정답 변수에 더해준다.
  • 모두 더한 문자열을 리터한다.

다른 사람의 문제 풀이

const waterMelon = n => {
    return '수박'.repeat(n / 2) + (n % 2 === 1 ? '수' : '');
}
  • 주어진 길이 숫자의 반 만큼 '수박' 문자열을 반복하여 새로운 문자열을 만든다.
  • 주어진 길이 숫자가 홀수일 경우 '수' 를 이어 붙인다.
  • 주어진 길이 숫자가 짝수일 경우 '' 를 이어 붙인다.

 

const waterMelon = n => "수박".repeat(n).slice(0,n);
  • 주어진 길이 숫자만큼 '수박' 문자열을 반복하여 새로운 문자열을 만든다.
  • 문자열의 0번째 인덱스부터 주어진 길이 숫자만큼 잘라낸다.