알고리즘/백준

[백준] 1912. 연속합 - 파이썬

빙빙 2021. 7. 12. 08:47
n = int(input())
nums = list(map(int,input().split()))
# # 리스트에 왼쪽부터 더한 누적값이 자기 자신보다 크다면 그 리스트에 넣어줌 작다면 자기 자신값 넣어줌
for i in range(1,n):
    nums[i] = max(nums[i],nums[i-1]+nums[i])
print(max(nums))

리스트에 왼쪽부터 더한 누적값이 자기 자신보다 크다면 그 리스트 원소값에 넣어줌(갱신) 작다면 자기 자신값 넣어줌

이렇게 하면 누적합이 클 때 저장되고 작아지면 누적합이 종료되고 새로 누적합을 구하기 때문에 가능!