728x90
1. 문제
https://www.acmicpc.net/problem/1912
2. 접근
연속합은 동적계획법이나 분할정복 등의 여러 알고리즘으로 구할 수 있는데, 그 중 시간복잡도가 가장 낮은 동적계획법으로 구현했다.
* 동적계획법이 아닌 다른 알고리즘은 아래에 참고하면 된다.
3. 코드
n = input()
arr=list(map(int, input().split()))
def DynamicProgramming(arr):
cache = [None] * len(arr)
cache[0] = arr[0]
for i in range(1, len(arr)):
cache[i] = max(0, cache[i-1]) + arr[i]
return max(cache)
print(DynamicProgramming(arr))
728x90
'PS > BOJ' 카테고리의 다른 글
[Python] 백준 10828 : 스택 (0) | 2022.07.14 |
---|---|
[Python] 백준 10809 : 알파벳 찾기 (0) | 2022.07.14 |
[Python] 백준 14425 : 문자열 집합 (0) | 2022.06.07 |
[Python] 백준 17219 : 비밀번호 찾기 (0) | 2022.06.07 |
[C] 백준 11729 : 하노이 탑 이동 순서 (0) | 2022.05.29 |