Time Complexity - TapeEquilibrium

-·2022년 5월 27일
0

딱히 방법이 생각이 안나서 젤 단순하게 한번 짜봤는데 성능에서 0퍼나옴 ㅋㅋ..

int front = 0;
int back = 0;
int answer = 0;
for (int i = 1; i < A.length; i++){
    front = 0;
    back = 0;
    for(int j = 0; j < i; j++){
        front += A[j];
    }
    for(int k = i; k < A.length; k++){
        back += A[k];
    }
    if(i == 1){
        answer = Math.abs(front - back);
    }
    answer = Math.min(answer, Math.abs(front - back));
}
return answer;

한번에 푸는법은 생각안나서 어떻게든 중복루프 안만들려고 생각함

int answer = 0;
int front = A[0];
int total = 0;
for (int i = 1; i < A.length; i++){
    total += A[i];
}
answer = Math.abs(total - front);
for (int j = 1; j < A.length - 1; j++){
    front += A[j];
    total -= A[j];
    answer = Math.min(answer, Math.abs(total - front));
}

return answer;

통과~

profile
거북이는 오늘도 걷는다

0개의 댓글