[문제 링크] : https://www.acmicpc.net/problem/30804
#include <iostream>
#include <queue>
using namespace std;
int N, T, cnt[10], Ans;
queue<int> Q;
int main(){
cin >> N;
while(N--){
int inp;
cin >> inp;
Q.push(inp);
if(cnt[inp]++ == 0){
T++;
}
while(T > 2){
inp = Q.front();
Q.pop();
if(--cnt[inp] == 0){
T--;
}
}
Ans = max(Ans, int(Q.size()));
}
cout << Ans << "\n";
return 0;
}
'알고리즘' 카테고리의 다른 글
[알고리즘] 백준 4179 - 불! (C++) (0) | 2024.08.27 |
---|---|
[알고리즘] 백준 1271 - 엄청난 부자2 (C++) (0) | 2024.08.26 |
[알고리즘] 백준 19944 - 뉴비의 기준은 뭘까? (C++) (0) | 2024.08.24 |
[알고리즘] 백준 2810 - 컵홀더 (0) | 2024.08.23 |
[알고리즘] 백준 10812 - 바구니 순서 바꾸기 (0) | 2024.08.22 |