Programmers/Level 1

[프로그래머스 / JavaScript] - 수박수박수박수박수박수?

LaKinRad 2022. 4. 29. 17:53

출처/프로그래머스

● 문제 설명

 

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

 

● 제한 조건

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

 

● 입출력 예

 

n return
3 "수박수"
4 "수박수박"

 


나의 풀이

 

function solution(n) {
    return Array(n).fill().map((res, idx) => idx%2==0 ? "수" : "박").join("");
}

 

저번에 알게 되었던 Array.fill.map 을 활용하여 풀 수 있을 것 같아서 시도해봤는데 잘 되었다.

 

https://lakinrad31022.tistory.com

 

[프로그래머스 / JavaScript] - x만큼 간격이 있는 n개의 숫자

출처/프로그래머스 ● 문제 설명 함수 solution은 정수 x와 자연수 n을 입력받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는

lakinrad31022.tistory.com

 


후기

 

// 다른 사람의 풀이
function solution(n) {
    return "수박".repeat(n).slice(0,n);
}

 

저번에 알았던 것을 활용해보고자 Array.fill.map 을 사용하긴 했으나,

굳이 문자열을 배열로 바꾸고 다시 문자열로 바꾸는 것이 아니라, input data의 원형을 바꾸지 않는 방법이 더 좋은 것이라고 생각한다.

 

그리고, 자꾸 repeat() 를 잊어 먹고 잘 안 쓰게 되는데, 계속 활용해보면서 손에 익도록 해야 할 것 같다.