반응형
문제
풀이
왼쪽 값들의 합과 오른쪽 값들의 합이 일치하는 pivot 인덱스를 찾는 문제이다.찾지 못하면 -1를 반환하면 된다.전체 값의 합을 구한 다음, 해당 값을 이용해서 오른쪽 값들의 합을 구하면 된다.
오른 쪽 값들의 합 = 전체 값의 합 - pivot - 왼쪽 값들의 합
참고로 Java Stream API 를 이용해서 Array의 sum 값을 구할 수 있다.
Arrays.stream(array).sum();
코드
class Solution {
public int pivotIndex(int[] nums) {
var total = Arrays.stream(nums).sum();
var leftSum = 0;
for(int i=0; i<nums.length; i++){
var rightSum = total - nums[i] - leftSum;
if(leftSum == rightSum){
return i;
}
leftSum += nums[i];
}
return -1;
}
}
참고
반응형