BOJ #3986

이재영·2023년 1월 5일
0


문제에 접근하기 전에 선끼리 교차하지 않으면서
글자와 짝을 짓는다는 게 모호했다.
위 조건을 배제한체 문제풀이를 하니
당연히 틀렸고, 글자끼리 쌍을 짓는 다는게

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;
}
profile
기록

0개의 댓글