728x90
링크
https://www.acmicpc.net/problem/1912
난이도(solved.ac 참고)
실버2
풀이
가장 큰 값이 음수라면 일단 더해봤자 값이 더 커질 수가 없으므로 그 값만 출력한다.
그게 아닐 경우에는 dp라는 배열을 따로 만들어서 첫 값으로는 input값을 받아서 만든 리스트의 첫번째 값을 반환하고 그 이후부터는 dp의 이전 인덱스 값과 input값을 받아서 만든 리스트 a의 현재 인덱스 값을 더한 게 양수인 경우에만 dp의 현재 인덱스에 값을 부여해주고 그게 아니라면 dp[i]는 0으로 그대로 남게 된다. 즉 더한 값이 0보다 작을 경우엔 0으로 초기화하여 다시 시작하는 과정을 반복한 것이다.
'CS > 알고리즘' 카테고리의 다른 글
[Python] BOJ(백준) 14502번 - 연구소 (0) | 2021.09.26 |
---|---|
[Python] BOJ(백준) 11659, 11660번 - 구간 합 구하기(4), (5) (0) | 2021.09.25 |
[Python] BOJ(백준) 3273번 - 두 수의 합 (0) | 2021.09.24 |
[Python] BOJ(백준) 2981번 - 검문 (0) | 2021.09.21 |
[Python] BOJ(백준) 17129번 - 윌리암슨수액빨이딱따구리가 정보섬에 올라온 이유 (0) | 2021.09.19 |