https://www.acmicpc.net/problem/1912
내 풀이
def solution():
n = int(input())
lis=list(map(int,input().split()))
for i in range(1,n):
#(print(f'lis[{i}]={lis[i]},lis[{i-1}]+lis[{i}]={lis[i-1]+lis[i]}'))
lis[i] = max(lis[i],lis[i-1]+lis[i])
#print(lis)
print(max(lis))
solution()
일반적인 dp랑 다르게 굳이 memoization 리스트를 선언할 필요가 없다.
결국 핵심은 연속적인 수들의 합이기 때문이다.
다른사람의 풀이
'취준 > 백준' 카테고리의 다른 글
1238 - 파이썬 (0) | 2022.10.24 |
---|---|
25755 - 파이썬 (0) | 2022.10.21 |
2589(보물섬) - 파이썬 (0) | 2022.09.02 |
16953(A -> B) - 파이썬 (0) | 2022.08.31 |
1389 - 파이썬 (0) | 2022.08.23 |