less than 1 minute read

[Lesson3] Time Complexity

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


Java Solution

import java.lang.Math;

class Solution {
    public int solution(int[] A) {
        int sum = 0;
        // 전체 합을 구함
        for(int i = 0; i < A.length; i++){
            sum += A[i];
        }
        int p_sum = 0;
        int n_sum = 0;
        int min = 0;
        // 하나씩 더한 값과 총합에서 하나씩 더한 값을 뺀 값의 차이로 작은 값을 구함
        for(int i  = 1; i < A.length; i++){
            p_sum += A[i-1];
            n_sum = sum - p_sum;
            int diff = Math.abs(p_sum - n_sum);
            if(i == 1){
                min = diff;    
            }
            if(diff < min){
                min = diff;    
            }
        }
        return min;
    }
}

PHP Solution

function solution($A) {
    $sum = 0;
    foreach($A as $value){
        $sum += $value;
    }
    $p_sum = 0;
    $n_sum = 0;
    $min = 0;
    for($i = 1; $i < count($A); $i++){
        $p_sum += $A[$i-1];
        $n_sum = $sum - $p_sum;
        $diff = abs($p_sum - $n_sum);
        if($i == 1){
            $min = $diff;    
        }
        if($diff < $min){
            $min = $diff;    
        }
    }
    return $min;
}