[Algorithms] 06. Array Chunk Problem

4845 단어 AlgorithmsAlgorithms

문제


해결방법


  1. chunked 라는 빈 배열을 만든다
  2. unchunked 배열에서 마지막 요소를 chuncked에 넣는다
    요소가 없거나 길이가 chunk 길이와 같다면 새로운 chunk를 chunked에 요소와 함께 넣는다
  3. 아니라면 지금 요소를 chunk에 넣는다

  1. chunked 라는 빈 배열을 만든다
  2. 0으로 시작하는 변수 index를 선언한다
  3. index < array.length
  4. push() 메서드는 배열의 끝에 하나 이상의 요소를 추가하고, 배열의 새로운 길이를 반환한다.
  5. slice() 메서드는 어떤 배열의 begin부터 end까지(end 미포함)에 대한 얕은 복사본을 새로운 배열 객체로 반환한다. 원본 배열은 바뀌지 않는다.
  6. size를 array에서 잘라서 chunked로 집어넣고, siz를 index에 더한다.

제출 코드


function chunk(array, size) {
  const chunked = [];
  
  for (let element of array) {
    const last = chunked[chunked.length - 1];
    if (!last || last.length === size) {
      chunked.push([element]);
    } else {
      last.push(element);
    }
  }
  return chunked;
}

function chunk(array, size) {
  const chunked = [];
  let index = 0;
  
  while (index < array.length) {
    chunked.push(array.slice(index, index+size))
    index += size;
  }
  return chunked;
}

좋은 웹페이지 즐겨찾기