![article thumbnail image](https://blog.kakaocdn.net/dn/x4281/btqJeuw4Btj/ietssBEqbbP4fKNSO7sTr1/img.png)
반응형
코드
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main()
{
int n, k, i, t, sum = 0, max = -2147000000;
vector<int> vInt;
cin >> n >> k;
for (i = 0; i < n; i++)
{
cin >> t;
vInt.push_back(t);
}
for (i = 0; i < k; ++i)
{
sum += vInt[i];
}
max = sum;
for (i = k; i < n; ++i)
{
sum -= vInt[i - k];
sum += vInt[i];
if (sum > max) max = sum;
}
cout << max << endl;
return 0;
}
출력 결과
채점 결과
O(n)으로 해결할 수 있는데, 자꾸 O(n^2)로 해결하려고 들어서 어렵다... 코드 작성하기 전에 조금 더 생각해 보는 게 좋을 것 같다.
해당 포스트는 'it 취업을 위한 알고리즘 문제풀이 (with C/C++) : 코딩테스트 대비' 강의를 수강하며 개인 백업용으로 메모하였습니다.
인프런: https://www.inflearn.com/course/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98#
it 취업을 위한 알고리즘 문제풀이 (with C/C++) : 코딩테스트 대비 - 인프런
알고리즘과 자료구조를 이용해 문제해결력을 기르는게 주 목적입니다. 초급 취업 ・ 이직 프로그래밍 언어 알고리즘 C++ 알고리즘 코딩 테스트 개발자취업 온라인 강의 알고리즘
www.inflearn.com
반응형