백준 C++ 4949 균형잡힌 세상

jaranda·2021년 12월 1일
0

4949번 균형잡힌 세상



문제 풀이

#include <iostream>
#include <string>
#include <stack>
using namespace std;

int main(void)
{
    while (1)
    {
        string str;
        getline(cin, str);
        if (str == ".")
        {
            break;
        }
        stack<char> st;
        int ck = 0;
        for (int i = 0; i < str.length(); i++)
        {
            if (str[i] == 40 || str[i] == 91)
            {
                st.push(str[i]);
            }
            else if (str[i] == 41)
            {
                if (!st.empty() && st.top() == 40)
                {
                    st.pop();
                }
                else
                {
                    ck = 1;
                }
            }
            else if (str[i] == 93)
            {
                if (!st.empty() && st.top() == 91)
                {
                    st.pop();
                }
                else
                {
                    ck = 1;
                }
            }
        }

        if (st.empty() && ck == 0)
        {
            printf("yes\n");
        }
        else
        {
            printf("no\n");
        }
    }
}

flag를 줄때 bool 타입을 써야겠다.

profile
자라는 개발자

0개의 댓글