[백준] 3986번

Jeanine·2022년 3월 14일
0

baekjoon

목록 보기
16/120
post-thumbnail

💻 C++ 기반

https://www.acmicpc.net/problem/3986

#include <cstdio>
#include <cstring>
#include <stack>

#define MAX 100001

using namespace std;

int main()
{
    int N;
    scanf("%d", &N);

    char str[MAX];
    int cnt = 0;
    while (N--)
    {
        scanf("%s", str);
        int len = strlen(str);
        if (len % 2 == 1)
        {
            continue;
        }
        stack<int> s;
        for (int i = 0; i < len; i++)
        {
            if (s.empty())
            {
                s.push(str[i]);
            }
            else
            {
                if (str[i] == 'A')
                {
                    if (s.top() == 'A')
                    {
                        s.pop();
                    }
                    else
                    {
                        s.push(str[i]);
                    }
                }
                else
                {
                    if (s.top() == 'B')
                    {
                        s.pop();
                    }
                    else
                    {
                        s.push(str[i]);
                    }
                }
            }
        }
        if (s.empty())
        {
            cnt++;
        }
    }

    printf("%d", cnt);
    return 0;
}
profile
Grow up everyday

0개의 댓글