문제(출처: 프로그래머스)

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

 

▶ 내가 푼 방식

function solution(my_str, n) {
    var answer =[]
    const arrayLength = Math.ceil(my_str.length/n)
    let startIndex = 0
    for (let i = 0; i < arrayLength; i ++){
        startIndex = n*i 
        answer.push(my_str.slice(startIndex, startIndex+n));
    }
    return answer;
}

 

 다른 유저가 푼 방식

// 유저 1
function solution(my_str, n) {
  return my_str.match(new RegExp(`.{1,${n}}`, "g"));
}
// RegExp(`.{1,${n}}`, "g") 
// -> "g" : 모든 문자열 탐색
// `.{1,${n}}`  : 1개 이상 n개 이하씩
// 탐색


// 유저 2
function solution(my_str, n) {
    let res = [];
    for (let i = 0; i < my_str.length; i+=n) res.push(my_str.slice(i, i+n));
    return res;
}

 

 배운 것들

     -  정규표현식의 다양한 활용방법

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

     -  for 구문에서 증가량을 조절하는 방법도 생각해야 한다.

+ Recent posts