[프로그래머스 JS] 수박수박수박수박수박수?

이얀·2021년 10월 29일
0

알고리즘

목록 보기
6/22

문제 설명

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

제한 조건

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

풀이

const solution = n => {
  let cnt = 0;
  let answer = '';
  while (cnt < n) {
    answer = cnt%2 ? answer + "박" : answer + "수";
    cnt++;
  }
  return answer;
}

구현

  1. 입력값 n번 동안 반복문을 돌려 반복할 때 마다 cnt를 1 증가시킨다.
  2. cnt의 값이 홀수일 경우와 짝수일 경우로 나눠 return 하고자 하는 변수에 "수" 또는 "박"을 쌓아낸다.

다른 풀이

다른 풀이에서는 repeat() 메서드를 많이 사용했다.
repeat() 메서드는 문자열을 주어진 횟수만큼 반복해 붙인 새로운 문자열을 반환한다.

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

0개의 댓글