https://data-marketing-bk.tistory.com/52
백준 - 1912번 - 연속합[파이썬]
1. 문제 출처 백준 - 1912번: 연속합 문제로 이동하기 우선 링크로 가서 문제를 보도록 하자. 2. 문제 설명 문제 n개의 정수로 이루어진 임의의 수열이 주어진다. 우리는 이 중 연속된 몇 개의 수를
data-marketing-bk.tistory.com
위 포스트를 참고했는데
이전까지의 합이 그냥 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))
'Algorithm > [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 |