기타/백준

백준 c# 4949 균형잡힌 세상

Krapboss 2024. 6. 9. 21:48

 

Vp 문제에서 '[' 가 추가된 버전

([)]은 고려하지 않고 바로 다음 짝 지음만을 판단

 

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            string str = Console.ReadLine();
            Stack<int> sta = new Stack<int>();

            bool flag = false;
            while (str[0] != '.')
            {
                foreach (int c in str)
                {
                    switch (c)
                    {
                        case '(': case '[':
                            sta.Push(c);
                            break;
                        case ')': case ']':
                            if (sta.Count < 1) flag = true;
                            else
                            {
                                int p = sta.Pop();
                                if (p != '(' && c==')') flag = true;
                                else if (p != '[' && c == ']') flag = true;
                            }
                            break;
                    }
                    //정크값 삽입
                    if (flag) { sta.Push(-1); break; }
                }

                if (sta.Count > 0) Console.WriteLine("no");
                else Console.WriteLine("yes");

                str = Console.ReadLine();
                sta.Clear();
                flag = false;
            }
        }
    }
}