⭐️ Two Pointer
⭐️ left, right 옮겨주며 left, right 의 원소 개수 관리
원소 개수를 확인하는 시점이 현재 원소를 포함한 시점인지 포함하지 않은 시점인지 구분해서 계산하는 것이 중요했음
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n,k;
cin >> n >>k;
vector<int>v(n);
for(int i=0;i<n;i++) {
cin >> v[i];
}
int s=0,e=0,len=0;
int visit[1000001]={0};
while(e<n) {
if(visit[v[e]]<k) {
visit[v[e]]++;
e++;
len=max(len,e-s);
}
else if(visit[v[e]]==k){
visit[v[s]]--;
s++;
}
}
cout << len;
}