😎풀이

  1. total: nums 요소의 총합
  2. leftSum: 왼쪽에서부터 누적하는 요소의 합
  3. nums 순회
    3-1. 현재 요소의 좌측과 우측 요소의 합이 같다면 인덱스 반환
    3-2. 그렇지 않다면, 현재 값을 왼쪽 값에 누적하며 탐색
  4. 피벗 인덱스가 없었으므로 -1 반환
function pivotIndex(nums: number[]): number {
    const total = nums.reduce((acc, cur) => acc + cur, 0)
    let leftSum = 0
    for(let i = 0; i < nums.length; i++) {
        if(leftSum === (total - leftSum - nums[i])) return i
        leftSum += nums[i]
    }
    return -1
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글