1732. Find the Highest Altitude
public int largestAltitude(int[] gain) {
	int current = 0;
	int highest = 0;
	for (int g : gain) { 
		current += g; 
		highest = Math.max(highest, current); 
	}
	return highest;
}
724. Find Pivot Index
  • 누적합 주의
    public int pivotIndex(int[] nums) {
        int[] sumLeft = new int[nums.length];
        int[] sumRight = new int[nums.length];
        sumLeft[0] = 0;
        for(int i = 1; i < nums.length; i++){
            sumRight[0] += nums[i];
        }

        for(int i = 0; i < nums.length; i++){
            if(i != 0){
	            // nums만 더하고 빼는 것이 아니라 sumLeft, sumRight 이전 값 가져와야함.
                sumLeft[i] = sumLeft[i - 1] + nums[i - 1];
                sumRight[i] = sumRight[i - 1] - nums[i];
            }
            if(sumLeft[i] == sumRight[i]) return i;
        }
        return -1;
    }
  • 배열 없이 변수로도 가능
  • rightSum = total - leftSum - nums[i] 활용
public int pivotIndex(int[] nums) {
    int total = 0, leftSum = 0;
    for (int num : nums) total += num;

    for (int i = 0; i < nums.length; i++) {
        if (leftSum == total - leftSum - nums[i]) return i;
        leftSum += nums[i];
    }
    return -1;
}