본문 바로가기
기초다지기/JS 코딩테스트

javascript 주어진 길이 n에 따라 "수박" 패턴을 유지하는 문자열 생성하기

by 김빵그 2023. 10. 20.

문제

주어진 길이 'n"에 따라 "수박" 패턴을 유지하는 문자열 생성하기

나의풀이 

function solution(n) {
    var word = "수박";
    const repeatCount = Math.floor(n / 2);
    if(n % 2 == 0) {
        return word.repeat(repeatCount);
    }else {
         return word.repeat(repeatCount) + "수";
    }
}
  • "수박" 문자열을 값으로 가지는 변수 word를 선언 
  • 입력값 n을 기반으로 반복횟수를 계산한다. Math.floor를 사용해 정수값으로 변경
  • if 문을 사용하여 n이 짝수인지 홀수인지 검사한다
  • n이 짝수인 경우 word를 repeatCount번 반복한 결과 반환
  • 홀수인 경우 word를 repeatCount번 반복한 뒤에 "수"를 덧붙여 결과를 반환한다

다른 풀이

1) substring() 사용

function waterMelon(n){
  var result = "수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박"
  //함수를 완성하세요

  return result.substring(0,n);
}

 

 

String.prototype.substring() - JavaScript | MDN

substring() 메소드는 string 객체의 시작 인덱스로 부터 종료 인덱스 전 까지 문자열의 부분 문자열을 반환합니다.

developer.mozilla.org

  • 보자마자 터졌던 코드 ㅋㅋㅋㅋㅋㅋ
  • substring을 사용하여 문자열 시작 인덱스로부터 종료 인덱스까지 부분 문자열을 반환한다

2) slice 사용

const waterMelon = n => "수박".repeat(n).slice(0,n);
  • n만큼 수박 문자열을 반복하고, slice를 사용하여 문자열 일부를 추출한다