목차
반응형
문제 설명
길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요.
예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.
제한 조건
- n은 길이 10,000이하인 자연수입니다.
나의 풀이
function solution(n) {
return '수박'.repeat(n).substring(0, n);
}
다른 풀이
function solution(n) {
let result = ""
for(let i = 1; i<=n; i++){
if(i % 2 === 0){
result += "박"
}else{
result += "수"
}
}
return result
}
마무리
'수박수박수박수..' 와 같은 패턴이 주어진 수 n번 만큼 출력되게 하는 문제였다.
문자열을 반복하는 repeat() 을 사용하고 '수박'은 두 글자니까 2 x n 자리의 문자가 생성 된다.
단순하게 생각해보면 n = 3 일 경우 2(수박) x 3(n) = 6(수박수박수박) 으로 생성된다.
그래서 substring(0,n) 으로 0번째 문자부터 n번 문자까지 삭제하므로 뒤의 n개의 문자인 '수박수'만 남게 되는 것이다.
다른사람의 풀이를 보면 간단하게 for문을 사용해 홀수/짝수를 구해 차례로 '수'와 '박'을 할당해서 리턴 하도록 했다.
반응형