Programmers | #Lv1 "수박수박수박수박수박수?"

블로그 이사 완료·2022년 9월 21일
0
post-thumbnail

문제 설명

길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.


제한 조건

n은 길이 10,000이하인 자연수입니다.


입/출력 예

nreturn
3"수박수"
4"수박수박"

입/출력 설명

입/출력 설명


나의 풀이

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
}

Review

'수박수박수박수..' 와 같은 패턴이 주어진 수 n번 만큼 출력되게 하는 문제였다.

문자열을 반복하는 repeat() 을 사용하고 '수박'은 두 글자니까 2 x n 자리의 문자가 생성 된다.

단순하게 생각해보면 n = 3 일 경우 2(수박) x 3(n) = 6(수박수박수박) 으로 생성된다.

그래서 substring(0,n) 으로 0번째 문자부터 n번 문자까지 삭제하므로 뒤의 n개의 문자인 '수박수'만 남게 되는 것이다.

다른사람의 풀이를 보면 간단하게 for문을 사용해 홀수/짝수를 구해 차례로 '수'와 '박'을 할당해서 리턴 하도록 했다.


profile
https://kyledev.tistory.com/

0개의 댓글