기타/Codility

[Easy] TapeEquilibrium

백곰곰 2022. 6. 8. 22:46
728x90
반응형

[문제]

배열을 두 개의 배열로 나눈 후 각 배열의 합의 차이가 가장 작은 경우의 값을 구하는 문제

 

TapeEquilibrium coding task - Learn to Code - Codility

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

app.codility.com

 

[코드]

시간복잡도 : O(N)

def solution(A):
    # write your code in Python 3.6
    lenth = len(A)
    tape1 = A[0]
    tape2 = sum(A[1:])
    answer = abs(tape1-tape2)
    for i in range(1, lenth-1) :
        tape1 = tape1 + A[i]
        tape2 = tape2 - A[i]
        answer = min(answer, abs(tape1-tape2))
    return answer
728x90

'기타 > Codility' 카테고리의 다른 글

[Easy] FrogRiverOne  (0) 2022.06.09
[Easy] CountDistinctSlices - 70%  (0) 2022.06.08
[Easy] PermMissingElem  (0) 2022.06.07
[Easy] OddOccurencesInArray  (0) 2022.06.07
[Easy] Triangle  (0) 2022.06.07