프로그래머스/Lv. 0 코딩테스트 입문

[프로그래머스] Lv.0 잘라서 배열로 저장하기 / JS

안댕이 2023. 8. 9. 10:12

📕 문제 설명

문자열 my_str과 n이 매개변수로 주어질 때, my_str을 길이 n씩 잘라서 저장한 배열을 return하도록 solution 함수를 완성해주세요.

 

⭐ 제한사항

  • 1 ≤ my_str의 길이 ≤ 100
  • 1 ≤ n ≤ my_str의 길이
  • my_str은 알파벳 소문자, 대문자, 숫자로 이루어져 있습니다.

 

💻 입출력 예

my_str n result
"abc1Addfggg4556b" 6 ["abc1Ad", "dfggg4", "556b"]
"abcdef123" 3 ["abc", "def", "123"]

 

📚 입출력 예 설명

입출력 예 #1

  • "abc1Addfggg4556b" 를 길이 6씩 잘라 배열에 저장한 ["abc1Ad", "dfggg4", "556b"]를 return해야 합니다.

 

입출력 예 #2

  • "abcdef123" 를 길이 3씩 잘라 배열에 저장한 ["abc", "def", "123"]를 return해야 합니다.

 

😊 나의 답변

function solution(my_str, n) {
    let answer = [];

    for(let i = 0; i < my_str.length; i += n) {
        answer.push(my_str.substr(i, n));
    }

    return answer;
}

substr()을 이용한 풀이를 해봤다.

 

⭐ 참고할 답변

function solution(my_str, n) {
  return my_str.match(new RegExp(`.{1,${n}}`, "g"));
}

정규표현식을 사용한 풀이!

위의 코드는 생성자 방식으로 정규 표현식을 생성해 match() 메서드로 일치하는 부분을 배열로 반환해주었다.

 

📌 RegExp() 정규 표현식을 생성하는 내장 객체로 검색, 대체, 분리 등과 같은 문자열 작업을 수행하는 데 사용됨.

📌 match() 문자열에서 정규 표현식과 일치하는 부분을 찾아 배열로 반환하는 문자열 메서드. 이 메서드를 사용하면 주어진 문자열에서 특정 패턴을 찾을 수 있음. 정규 표현식과 함께 사용되며, 패턴과 일치하는 모든 부분을 찾아 배열로 반환

728x90
반응형