BRACKETS2 소스 좀 봐주세요 ㅠㅠ

  • best88
    best88
    #include <iostream>
    #include <stack>
    #include <string>
    #include <algorithm>
    
    using namespace std;
    
    const string open("({["), close(")}]");
    stack<int> confirm;
    
    bool check(string str)
    {
        for(int i = 0 ; i < str.size(); i++)
        {   
            if(open.find(str[i]) != -1)
            {           
                confirm.push(open.find(str[i]));
            }
            else
            {
                if(confirm.empty())
                    return false;
                if(str[i] != close[confirm.top()])
                    return false;
                confirm.pop();
            }       
        }
        return confirm.empty();
    }
    
    int main()
    {
        int _case;
        cin>>_case;
        string str;
    
        for(int i  = 0 ; i < _case; i++)
        {
            cin>>str;
            if(check(str))
                cout<<"YES"<<endl;
            else
                cout<<"NO"<<endl;
        }
        return 0;
    }
    

    오답이라고 나오는데 어디가 틀렸는지 모르겠습니다 ㅠㅠ
    고수님들 조언 좀 부탁드립니다 ㅠㅠ


    8년 전
1개의 댓글이 있습니다.
  • Toivoa
    Toivoa

    2
    (
    )

    을 넣어보세요


    8년 전 link
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.