level 1. 수박수박수박수박수박수? (Javascript)

수박수박수박수박수박수?

문제

water_melon함수는 정수 n을 매개변수로 입력받습니다.
길이가 n이고, 수박수박수…와 같은 패턴을 유지하는 문자열을 리턴하도록 함수를 완성하세요.
예를들어 n이 4이면 ‘수박수박’을 리턴하고 3이라면 ‘수박수’를 리턴하면 됩니다.

풀이 (본인)

1
2
3
4
5
6
7
8
9
10
11
function waterMelon(n){
var melon = ['수','박'];
var result = [];
for(var num = 0; num<n; num++){
result.push(melon[num%2])
}
return result.join('');
}
// 실행을 위한 테스트코드입니다.
console.log("n이 3인 경우: "+ waterMelon(3)) //수박수
console.log("n이 4인 경우: "+ waterMelon(4)) //수박수박

풀이 (다른 사람)

1
2
3
4
5
6
7
function waterMelon(n){
// n을 2로나눈 몫 만큼 곱하고 나머지가 있으면 '수' 더해라.
return ("수박").repeat(n/2) + ((n%2) ? '수' : '');
}
// 실행을 위한 테스트코드입니다.
console.log("n이 3인 경우: "+ waterMelon(3)) //수박수
console.log("n이 4인 경우: "+ waterMelon(4)) //수박수박

배운점

  • 문자열을 배열의 형태로 바꾸는 방법만 생각했는데 문자열의 메소드를 사용하는 방법에 대해 배웠다.

느낀점

  • 문자열이면 문자열의 메소드를 이용하는 코드를 작성하는 연습을 해야겠다.
공유하기