수박수박수박수박수박수? (Level 1)

문제

water_melon함수는 정수 n을 매개변수로 입력받습니다.

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

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

풀이

function waterMelon(n){
  let res = '';
  for ( let i = 1; i <= n; i++ ) {
      (i % 2 == 1) ? res += "수" : res += "박"
  }
  return res
}

// 실행을 위한 테스트코드입니다.
console.log("n이 3인 경우: "+ waterMelon(3))
console.log("n이 4인 경우: "+ waterMelon(4))

아까 본 삼항연산자를 이용했지만, for문을 안써도 될 것 같은데..싶지만 썼다.

다른 사람의 풀이

const waterMelon = n => {
    return '수박'.repeat(n/2) + (n%2 === 1 ? '수' : '');
}

// 실행을 위한 테스트코드입니다.
console.log("n이 3인 경우: "+ waterMelon(3))
console.log("n이 4인 경우: "+ waterMelon(4))

repeat 뒤의 숫자가 소수면 버리는것을 이용한 것. 개인적으로 좋은 코드인지는 잘 모르겠다


+ Recent posts