https://data-marketing-bk.tistory.com/52
위 포스트를 참고했는데
이전까지의 합이 그냥 i번째 숫자보다 작은 경우 이전의 기록들은 무의미하다는 문장이 큰 도움이 됐다.
현재값보다 연속된 수들의 누적합이 더 크다면 그 값을 쓰고,
현재값이 더 크다면 이전 값은 의미가 없으니 현재값으로 갱신을 한다.
현재값과 그 이전값들의 합을 비교하는 것이니 메모리를 추가로 사용할 필요도 없다.
n = int(input())
arr = list(map(int,input().split()))
for i in range(1,n):
arr[i] = max(arr[i],arr[i-1]+arr[i])
print(max(arr))
'[BOJ] - Python' 카테고리의 다른 글
[백준] 18428 : 감시 피하기 python (1) | 2023.11.17 |
---|---|
[백준] 2156 : 포도주 시식 python (0) | 2023.10.01 |
[백준] 14002 : 가장 긴 증가하는 부분 수열 4 python (0) | 2023.09.29 |
[백준] 1932 : 정수 삼각형 python (0) | 2023.09.29 |
[백준] 12865 : 평범한 배낭 python (0) | 2023.09.28 |