문제 : https://www.acmicpc.net/problem/2559
예제입력 :
10 2
3 -2 -4 -9 0 3 7 13 8 -3
예제출력 :
21
import sys
input = sys.stdin.readline
N,K = map(int, input().split())
nums = list(map(int, input().split()))
each = 0
for i in range(K):
each += nums[i]
maxv = each
for i in range(K, N):
each += nums[i]
each -= nums[i-K]
maxv = max(each, maxv)
print(maxv)
3 -2 -4 -9 0 3 7 13 8 -3
초기 인덱스는 3 + (-2) = 1
이 상태에서 -4를 더해주고 3을 빼줌
빼줘야 하는 인덱스는 [i-k]
그리고 최댓값 갱신
'자기개발👨💻 > 코딩 알고리즘' 카테고리의 다른 글
[C++] 백준 14567 선수과목 (설명 작성중~) (0) | 2023.11.02 |
---|---|
[C++] 백준 2056 작업 (0) | 2023.11.02 |
[Python] 백준 2559 수열 - 그리디 알고리즘 (0) | 2023.10.24 |
[Python] 백준 2178 미로 탐색-dfs알고리즘-최단경로 (0) | 2023.10.18 |
[Python] 백준 15650, 15649 -백트래킹 알고리즘 (0) | 2023.10.18 |
[C] 백준 10870 피보나치 수 5 (0) | 2022.08.03 |