문제(출처: 프로그래머스)
문자열 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 구문에서 증가량을 조절하는 방법도 생각해야 한다.