수박수박수박수박수박수? (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
뒤의 숫자가 소수면 버리는것을 이용한 것. 개인적으로 좋은 코드인지는 잘 모르겠다