문제 링크:
https://school.programmers.co.kr/learn/courses/30/lessons/120913
문자열을 하나씩 가져와서 n만큼 잘라준다.
substr
을 처음에 생각하긴 했는데 직관적으로 반복문으로 먼저 풀고 다른 사람 풀이를 보고 리팩토링 하였다.
1차로 푼 코드 : 반복해서 문자열을 가져오는 해석으로 직관적이긴 하나. answer.push가 반복되는 둥 줄일 수 있는 요소가 다분했다. 😐
function solution(my_str, n) {
let answer = [];
let str = ""
for (let i = 0; i < my_str.length; i++) {
str += my_str[i]
if (i % n === n - 1) {
answer.push(str)
str = ""
continue
}
}
if (str !== "") {
answer.push(str)
}
return answer;
}
substr()으로 리팩토링 후 : n씩 증가하는 i 인덱스부터 n개씩 자른다.
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
}