상세 컨텐츠

본문 제목

[Lesson 3] Time Complexity - TapeEquilibrium

Codility Lessons 풀이

by 발발개발 2025. 1. 2. 15:42

본문

https://app.codility.com/programmers/lessons/3-time_complexity/tape_equilibrium/

 

TapeEquilibrium coding task - Learn to Code - Codility

Minimize the value |(A[0] + ... + A[P-1]) - (A[P] + ... + A[N-1])|.

app.codility.com

class Solution {
    public int solution(int[] A) {
        int[] leftSumArr = new int[A.length];
        int[] rightSumArr = new int[A.length];

        leftSumArr[0] = A[0];

        for (int i = 1; i < A.length; i++) {

            leftSumArr[i] = leftSumArr[i - 1] + A[i];
        }

        rightSumArr[A.length - 1] = A[A.length - 1];

        for (int i = A.length - 2; i >= 0; i--) {
            rightSumArr[i] = rightSumArr[i + 1] + A[i];
        }

        int result = Integer.MAX_VALUE;

        for (int p = 0; p < A.length - 1; p++) {
            result = Math.min(result, Math.abs(leftSumArr[p] - rightSumArr[p + 1]));
        }

        return result;
    }
}

관련글 더보기

댓글 영역