SMALL
https://www.acmicpc.net/problem/30804

핵심전략:
탕후루 한 알 한 알를 고려하여 푼다. (자료구조 큐를 사용)
정답코드:
#include <bits/stdc++.h>
#define nl '\n'
using namespace std;
typedef long long ll;
int i, j;
int type[10];
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
queue<int> q;
int n;
cin >> n;
int cnt = 0;
int result = 0;
int len = 0;
while(n--){
int num;
cin >> num;
q.push(num);
len ++;
if(type[num] == 0){
cnt ++;
}
type[num] ++;
while (cnt > 2){
int fruit = q.front();
type[fruit] --;
q.pop();
len --;
if (type[fruit] == 0){
cnt --;
}
}
result = max(result, len);
}
cout << result << nl;
return 0;
}
LIST
'BOJ 문제풀이' 카테고리의 다른 글
백준 28702 c++ 문제 풀이 (FizzBuzz) (0) | 2024.08.10 |
---|---|
백준 30802 c++ 문제 풀이 (웰컴 키트) (0) | 2024.08.10 |
백준 23175번 c++ 풀이 (0) | 2021.10.11 |
백준 1644번 c++ 풀이 (0) | 2021.10.10 |
백준 2003번 c++ 풀이 (0) | 2021.10.10 |