항상 [누적합]구할 때 시간초과 없애기 위해 → 초기화된 배열에 append함. 이전까지의 합을 이용해서 현재의 합을 구하는 느낌!
import sys
input = sys.stdin.readline
n, k = map(int, input().split()) #n개 수 / k개의 연속된 수의 합
tem_list = list(map(int, input().split())) # 1 2 3 4 5 / 2개
#k개의 연속된 수의 합의 결과
result_list = []
result_list.append(sum(tem_list[:k])) # 첫 번째 연속 합으로 초기화
for i in range(n-k):
# 이전 인덱스 부터 k개 합 - 이전 인덱스 값 + 현재 인덱스에서 k개 맨 끝 값
tem_sum = result_list[i] - tem_list[i] + tem_list[i+k]
result_list.append(tem_sum)
print(max(result_list))'개발 > Algorithm' 카테고리의 다른 글
| [백준/11724번/실버2]연결 요소의 개수 - 그래프 개념, DFS 사용! (4) | 2023.08.06 |
|---|---|
| [백준/1260번/실버 3] DFS와 BFS - 가장 기본적인 함수 (0) | 2023.08.05 |
| [Softeer/금고털이/level2] 금고털이 (0) | 2023.08.04 |
| [백준/11660번/실버 1] 구간 합 구하기 5 - 다이나믹 프로그래밍, 누적 합 (0) | 2023.08.03 |
| 2023/8 알고리즘 공부 (0) | 2023.08.02 |