투 포인터를 활용한 문제 해결
#include <iostream>
#include <vector>
#include <queue>
#include <climits>
#include <algorithm>
using namespace std;
int main(void)
{
ios_base::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
int n, k;
cin >> n >> k;
vector<int> arr(n);
for (int i = 0; i < n; ++i)
{
cin >> arr[i];
}
int sum = 0;
int i = 0;
int start = 0;
int end = k - 1;
for (i = 0; i <= end; ++i)
{
sum += arr[i];
}
int sumOne = sum;
while (end < n - 1)
{
sumOne += arr[++end];
sumOne -= arr[start++];
sum = max(sum, sumOne);
}
cout << sum;
return 0;
}
'코딩 테스트' 카테고리의 다른 글
백준 1010 - 다리 놓기 (0) | 2024.11.11 |
---|---|
백준 1707 - 이분 그래프 (0) | 2024.11.11 |
프로그래머스 - 단속 카메라 (0) | 2024.11.06 |
백준 1806 - 투포인터 (0) | 2024.11.01 |
백준 투포인터 2230 (0) | 2024.11.01 |