Greedy_수열(2259)

Eugenius1st·2022년 10월 7일
0

Algorithm_Baekjoon

목록 보기
142/158
post-thumbnail

Greedy_수열(2259)

문제

풀이

  • 0 부터 K 까지 누적합을 구한다 K
  • 한칸씩 이동하기에 for문 돌려서 앞 index를 빼주고, 뒤 index를 더한다
  • 누적합이 최대인지 확인하고 최댓값을 갱신한다

코드

import sys

N,K = map(int,input().split())
arr = list(map(int,input().split()))
accu = sum(arr[:K])
maxVal = accu

# 간격이 K 씩이니 합인 값에 i-K를 빼주자
for i in range(K,N):
    accu -= arr[i-K]
    accu += arr[i]
    #print(i-K,arr[i-K],i,arr[i])
    if(maxVal<accu):
        maxVal = accu


    #print(accu)
print(maxVal)
profile
최강 프론트엔드 개발자가 되고싶은 안유진 입니다

0개의 댓글