문제에 접근하기 전에 선끼리 교차하지 않으면서
글자와 짝을 짓는다는 게 모호했다.
위 조건을 배제한체 문제풀이를 하니
당연히 틀렸고, 글자끼리 쌍을 짓는 다는게
ABBA
| |---| |
|-----|
이런식으로 짝이 지어지면
좋은 단어라고 하는 걸 깨달았다..
루프를 다돌고 나면
스택이 비어야지 쌍을 이룬 조건이
만족하게끔 코드를 짜봤다.
스택을 이용하면 아주쉽게 풀수있다.
#include <iostream>
#include <algorithm>
#include <vector>
#pragma warning(disable:4996)
#include <sstream>
#include <math.h>
#define endl '\n'
#include <stack>
using namespace std;
typedef long long ll;
int t;
string str;
int main(int argc, const char * argv[]){
ios_base::sync_with_stdio(false);
cin.tie(0); cout.tie(nullptr);
cin >> t;
int count = 0;
while(t--){
stack<char> st;
cin >> str;
for(auto c:str){
if(st.empty()) st.push(c);
else{
if(c == st.top()) st.pop();
else st.push(c);
}
}
if(st.empty()) count++;
}
cout << count << endl;
return 0;
}