function solution(num_list, n) {
var answer = [];
while (num_list.length > 0) {
// num_list의 첫번째 요소부터 n개까지 잘라서 배열로 만들어줘.
// 예시1로 보자면 [[1,2],3,4,5,6,7,8] 로 만들어지면서 [1,2]가 new_list로 빠져나간다.
let new_list = num_list.splice(0, n);
answer.push(new_list);
}
return answer;
}
function solution(num_list, n) {
const answer = [];
while(num_list.length) {
answer.push(num_list.splice(0, n));
}
return answer;
}
function solution(num_list, n) {
const answer = [];
for(let i = 0; i < num_list.length / n; i++) {
answer.push(num_list.slice(i * n, i * n + n))
}
return answer;
}
나의 풀이와 굉장히 흡사한데 메서드 사용법을 훨씬 더 잘 활용한거같아서 가져왔다.
저렇게 조건식에 length값만 넣으면 값이 0이될까지 라는 기본조건이 붙는단다;; 그걸 어케알지.. ㅎㄷㄷ
그리고 난 따로 빈 배열값을 만들어줘야 이중배열로 답이 될거같아서 만들어준건데 이렇게해도 답이 출력된다
도데체 어케 알고있던거지.. 이해력에 박수박수....
처음엔 i의 조건이 이해가 안가서 넘어가려던 풀이인데 풀이를 자세히 써두신 분이 계셔서 이해가되서 가져왔다.
slice 내장 함수의 인자에 (i n, i n + n)을 넣어 줬는데, n을 2로 예시를 들면
i는 0부터 시작으로 (0 2, 0 2 + 2) = (0, 2) 가 되고,
i가 1이 되면 (1 2, 1 2 + 2) = (2, 4) 가 되면서 조건에 맞게 2개씩 묶은 2차원 배열을 만들 수 있게 되는 것
slice 안에 저렇게 식을 구성하고 하나하나 i값에 맞춰서 값이 구성될 생각을 해낸건 마치 천재같다고 느껴진다 ㅂㄷㅂㄷ..
2번 출처