본문 바로가기

Developer/Algorithm

[codility_] TapeEquilibrium

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

// you can also use imports, for example:
// import java.util.*;

// you can write to stdout for debugging purposes, e.g.
// System.out.println("this is a debug message");

import java.util.*;

class Solution {
    public int solution(int[] A) {
        
        int iRightSum =0 ; 
        int iLeftSum = 0 ;

        for(int i = 0 ; i < A.length ; i++)
        {
            iRightSum += A[i];
        }

        int iReturn = Integer.MAX_VALUE ;

        for(int i = 1 ; i < A.length ; i++)
        {
            iLeftSum += A[i-1];
            iRightSum -= A[i-1];

            int iGap = Math.abs(iLeftSum - iRightSum);

            if(iReturn > iGap) iReturn = iGap;
        }


        return iReturn;
    }
}

시작에 대한 선택을 잘해야함. 

'Developer > Algorithm' 카테고리의 다른 글

[codility_] MissingInteger  (0) 2020.12.01
[codility_] MaxCounters  (0) 2020.12.01
[codility_] PermMissingElem  (0) 2020.11.29
[codility_] FrogJmp  (0) 2020.11.28
[codility_] OddOccurrencesInArray  (0) 2020.11.28