Menu
CoddyTech

Find Pivot Index

쉬움누적 합python iconjava iconcpp iconc iconjs icon+10

정수 배열 nums가 주어집니다. 피벗 인덱스란 왼쪽에 있는 값들의 합과 오른쪽에 있는 값들의 합이 같은 인덱스입니다. 피벗 자체의 값은 어느 쪽에도 포함되지 않으며, 값이 없는 쪽의 합은 0입니다.

가장 왼쪽에 있는 피벗 인덱스를 반환하고, 피벗인 인덱스가 없으면 -1을 반환합니다.

함수

pivotIndex(nums: integer-array) → integer
numsinteger-array
균형을 맞출 정수 배열
반환값integer
가장 왼쪽 피벗 인덱스, 없으면 -1

제약 조건

  • 1 ≤ nums.length ≤ 104
  • -1000 ≤ nums[i] ≤ 1000

예제

입력
nums = [3, 1, 5, 2, 2]
출력
2
설명
인덱스 2에서 왼쪽은 3 + 1 = 4이고 오른쪽은 2 + 2 = 4입니다. 인덱스 0과 인덱스 1은 균형을 이루지 않으므로(왼쪽 0에 대해 오른쪽 10, 왼쪽 3에 대해 오른쪽 9), 2가 가장 왼쪽에 있는 피벗입니다.

lock icon제출 시 숨은 테스트 +17개

challenge icon

후속 질문

각 값을 한 번씩만 읽고 먼저 전체 합을 구하지 않으면서 가장 왼쪽 피벗을 찾을 수 있나요? 메모리는 얼마나 사용하나요?

코드 초기화
def pivotIndex(nums):
    # 여기에 코드를 작성하세요
테스트 케이스

케이스 1

케이스 2

케이스 3

입력

nums = [3, 1, 5, 2, 2]

기대값

2