본문 바로가기

[BOJ] - Python

[백준] 1912 : 연속합 python

https://data-marketing-bk.tistory.com/52

 

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

1. 문제 출처 백준 - 1912번: 연속합 문제로 이동하기 우선 링크로 가서 문제를 보도록 하자. 2. 문제 설명 문제 n개의 정수로 이루어진 임의의 수열이 주어진다. 우리는 이 중 연속된 몇 개의 수를

data-marketing-bk.tistory.com

위 포스트를 참고했는데 

이전까지의 합이 그냥 i번째 숫자보다 작은 경우 이전의 기록들은 무의미하다는 문장이 큰 도움이 됐다.

 

현재값보다 연속된 수들의 누적합이 더 크다면 그 값을 쓰고,

현재값이 더 크다면 이전 값은 의미가 없으니 현재값으로 갱신을 한다.

 

현재값과 그 이전값들의 합을 비교하는 것이니 메모리를 추가로 사용할 필요도 없다.

 

n = int(input())
arr = list(map(int,input().split()))

for i in range(1,n):
    arr[i] = max(arr[i],arr[i-1]+arr[i])

print(max(arr))