문제
나의 답안
n=int(input())
arr=list(map(int,input().split()))
dp=[0]*len(arr)
dp[0]=arr[0]
for i in range(1,n):
dp[i]=max(arr[i],dp[i-1]+arr[i])
print(max(dp))
접근 방법
- 배열의 시작부터 더해가며 현재 값만 있을 때와 여태까지 더한 값에 현재 값을 더한 것 중 큰 값을 dp에 저장한다.
- 마지막으로 max를 사용해 큰 값을 출력해준다.