문제-https://www.acmicpc.net/problem/3986
문제에서 짝짓기가 필요한 문제는 스택을 사용하는것을 고려해 보기
#include <bits/stdc++.h>
using namespace std;
int n,cnt;
string s;
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
cin>>n;
for(int i=0;i<n;i++){
stack<char> stk;
cin>>s;
for(int i=0;i<s.size();i++){
if(stk.size()==0)stk.push(s[i]); //스택에 아무것도 없으면 푸쉬
else if(stk.top()==s[i])stk.pop(); //스택의 제일 위에 값과 같으면 그 값을 삭제
else stk.push(s[i]); //같지않으면 푸쉬
}
if(stk.size()==0)cnt++;//스택에 남아있는 값이 없으면 좋은 단어
}
cout<<cnt;
}