백준/Python

[백준] 1912 연속합 (python 파이썬)

노랑꼬리 2022. 11. 27. 18:19

문제링크 : https://www.acmicpc.net/problem/1912

 

1912번: 연속합

첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다.

www.acmicpc.net

 

 

작성코드

 

풀이

1) dp 배열에 이전 연속된 수들의 합을 저장해주어 다음 연산에 사용한다.

2) 만약 이전 연속된 수들의 합이 음수가 된다면 합할 시 오히려 손해가 되므로 음수인 경우 현재 수를 dp에 저장해준다.

3) dp에 미리 0으로 채워둔 수가 연속값의 최대를 구할 때 영향을 주므로 새로운 배열에 저장값들을 옮겨준다