LeetCode / #1480 / 1d 배열의 누적 합계 / JS

1d 배열의 누계 – LeetCode

이 실제 인터뷰 질문을 해결할 수 있습니까? 1d 배열의 실행 합계 – 숫자 배열이 주어집니다. 배열의 누적 합계를 runningSum(i) = sum(nums(0)…nums(i))으로 정의합니다. 숫자의 누적 합계를 반환합니다. 예 1: 입력: 숫자 = (1,2,3,4) 출력: (1,3,6,

leetcode.com

< Kurze Beschreibung des Problems >

nums라는 배열에서 문제는 누적 합계를 찾아 반환하기 위해 각 요소를 반복하는 것입니다.

/**
 * @param {number()} nums
 * @return {number()}
 */
 var runningSum = function(nums) {
  let result = ();

  nums.reduce((acc, cur) => {
      acc += cur;
      result.push(acc);    
      return acc;
  }, 0);

  return result;
};

누적합을 구할 생각을 하니 바로 Reduce() 메서드가 떠올랐습니다.

현재 값 cur은 누산기 변수에 지속적으로 추가되어 저장됩니다.

위 코드에서 Reduce의 마지막 인수인 0은 acc의 초기값이다. 초기값이 없으면 초기값은 자동으로 배열의 첫 번째 요소입니다.

따라서 acc의 현재 값인 cur을 추가하고 결과를 누릅니다.

이때 반환된 acc를 다음 반복에서 가져와 사용할 수 있도록 acc를 반환해야 합니다.