O(N)으로 풀 수 있었다.
index를 기준으로 앞뒤를 나눠서 계산하는 문제이다.
기존의 배열에 해당 index까지의 누적합을 구했다.
누적합을 통해 index를 기준으로 앞과 뒤를 나눠 계산했다.
class Solution {
public int solution(int[] A) {
for(int index = 1; index < A.length; index++) {
A[index] += A[index - 1];
}
int min = Integer.MAX_VALUE;
for(int index = 1; index < A.length; index++) {
int front = A[index - 1];
int end = A[A.length - 1] - A[index - 1];
int temp = Math.abs(front - end);
if(min > temp) {
min = temp;
}
}
return min;
}
}