문제

Given an array arr and a chunk size size, return a chunked array. A chunked array contains the original elements in arr, but consists of subarrays each of length size. The length of the last subarray may be less than size if arr.length is not evenly divisible by size.

You may assume the array is the output of JSON.parse. In other words, it is valid JSON.

Please solve it without using lodash's _.chunk function.

 

예제

 

접근

size만큼 증가하는 for문을 돌면서 answer 배열에 i번째 원소부터 i + size번째 원소만큼의 배열을 slice로 복사하여 추가해주었다. 만약 배열의 끝부분에서 slice한 배열이 size보다 작아도, slice는 에러를 반환하지 않고 만들 수 있는 크기만큼의 배열을 생성해준다.

코드

/**
 * @param {Array} arr
 * @param {number} size
 * @return {Array}
 */
var chunk = function(arr, size) {
    const answer = [];
    
    for (let i = 0; i < arr.length; i+= size) {
        answer.push(arr.slice(i, i + size));
    }
    
    return answer;
};

 

'Algorithm' 카테고리의 다른 글

[LeetCode] 2704. To Be Or Not To Be  (0) 2024.02.05
[LeetCode] 2695. Array Wrapper  (0) 2024.01.31
[BOJ] 4779. 칸토어 집합  (1) 2024.01.30
[SWEA] 1230. 암호문3  (1) 2024.01.29
[SWEA] 10726. 이진수 표현  (0) 2024.01.29

+ Recent posts