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

 

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

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

programmers.co.kr

 

문제

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

 

1. 나의 풀이

function solution(num) {
  let anwser = '';

  for (let i = 0; i < num; i++) {
    anwser += i % 2 === 0 ? '수' : '박';
  }
  return anwser;
}

const anwser = solution(5);
console.log(anwser);

for문을 사용해 파라미터에 전달된 숫자 만큼 반복하게끔 하였고 ( for문의 초기값이 0이기에 for문의 반복 조건을 파라미터에 전달된 수보다 적은 수까지만 반복 되게하면 전달된 수만큼 반복함 ) 

for문 블럭 안에 삼항 연산자를 사용하여 현재 반복되는 수가 2로 나누었을 때 나머지가 0이면 '수'를 answer 변수에 더하고 나누었을 떄 나머지가 0이 아니면 '박'을 변수에 더하게 하였다.

( 결론적으로 파라미터로 전달된 숫자가 짝수면 수박 이런식으로 끝부분이 '박'으로 끝나고 홀수면 수박수 이런식으로 '수'로 끝남 )

 

 

2. 다른 사람 풀이

function waterMelon(n){

  return n % 2 === 0 ? '수박'.repeat(n/2) : '수박'.repeat(n/2).concat('수')
}

 

+ Recent posts