문제 설명
길이가 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문을 사용해 홀수/짝수를 구해 차례로 '수'와 '박'을 할당해서 리턴 하도록 했다.
문제 설명
길이가 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문을 사용해 홀수/짝수를 구해 차례로 '수'와 '박'을 할당해서 리턴 하도록 했다.