문제 설명
길이가 n이고, 수박수박수박수….와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 수박수박을 리턴하고 3이라면 수박수를 리턴하면 됩니다.
제한사항
n은 길이 10,000이하인 자연수입니다.
입출력 예
n | return |
---|---|
3 | 수박수 |
4 | 수박수박 |
문제풀이
function solution(n) {
var answer = "";
for (let i = 0; i < n; i++) {
if (i % 2 === 0) {
answer += "수";
} else {
answer += "박";
}
}
return answer;
}
문제를 푼 후 조금 더 간결하게 풀 수 있는 방법이 있을 것 같아 고민하다 간결한 풀이를 발견했다.
const solution = n => {
return '수박'.repeat(n/2) + (n%2 === 1 ? '수' : '');
}
풀이 중 가장 좋아요가 많았던 풀이인데 먼저 “수박”.repeat를 사용해 받은 인자의 반만큼 반복해줬다. 그 후 반환한 문자열에 n이 홀수인경우 “수” 를 붙이도록 하여 해결하였다. 문제를 풀긴 했지만 이런 간결한 방법이 생각나지 않는다…더 공부해야겠다..