문제 링크 : 백준 5002번
⭐ 클럽에 입장할 때 대기하는 사람이 있으면 조건 검사 후 통과하면 먼저 입장시켜야한다.
#include <iostream>
#include <algorithm>
using namespace std;
int x;
bool check = false;
char tmp;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
cin >> x;
string s;
cin >> s;
int mansize=0, womansize=0;
for(int i=0 ; i<s.size() ; i++) {
if(s[i] == 'M') {
int now = abs((mansize+1)-womansize);
if(now<=x) mansize++;
else {
if(!check) {
tmp = 'M';
check = true;
} else {
break;
}
}
} else {
int now = abs(mansize-(womansize+1));
if(now<=x) womansize++;
else {
if(!check) {
tmp = 'W';
check = true;
} else {
break;
}
}
}
if(check) {
if(tmp == 'M') {
int now = abs((mansize+1)-womansize);
if(now<=x) {
mansize++;
check = false;
}
} else {
int now = abs(mansize-(womansize+1));
if(now<=x) {
womansize++;
check = false;
}
}
}
}
cout << mansize + womansize;
return 0;
}