TapeEquilibrium - (Codility, 시간복잡도)
2023. 1. 12. 10:13ㆍ코딩 테스트 준비
728x90
반응형
def solution(A):
P1 = 0
P2 = sum(A)
stack = []
for i in range(1,len(A)):
P1 += A[i-1]
P2 -= A[i-1]
ans = abs(P1-P2)
if len(stack) == 0:
stack.append(ans)
elif stack[-1] > ans:
stack.pop()
stack.append(ans)
return stack[-1]
sum의 시간복잡도는 O(n)이기 때문에 반복문에 들어가면 O(n**2)의 시간 복잡도가 나온다.
그러니 단순히 sum을 해주고 n-1까지 더하고 빼기를 반복하면 해결된다.
728x90
반응형
'코딩 테스트 준비' 카테고리의 다른 글
기상캐스터 - 실버5 (백준, 구현) (0) | 2023.01.13 |
---|---|
A -> B 실버 2 (백준, 그리디) (0) | 2023.01.13 |
PermMissingElem - Easy (Codility, 시간복잡도) (0) | 2023.01.12 |
FrogJmp - Easy (Codility, 시간복잡도) (0) | 2023.01.11 |
OddOccurrencesInArray - Easy(배열, Codility) (0) | 2023.01.11 |