문제
- 괄호 문자열이 주어졌을 때 해당 문자열이 vps인지 여부를 yes/no로 출력하여라
- vps: 한쌍의 괄호 기호로 된 문자열
입력
- T개의 테스트 데이터가 주어진다.
- 괄호 문자열의 길이는 2이상 50이하이다.
6
(())())
(((()())()
(()())((()))
((()()(()))(((())))()
()()()()(()()())()
(()((())()(
풀이
풀이1
#include <bits/stdc++.h>
using namespace std;
int main (void){
ios::sync_with_stdio(0);
cin.tie(0);
int T;
cin >> T;
while(T--){
string ans="YES";
stack<int> s;
string str;
cin >> str;
//좋은 단어인지 판단
for(auto c:str){
if(c =='(') s.push(c);
else{ //c==')'
if(!s.empty() && s.top()=='(') s.pop();
else ans ="NO";
}
}
if(!s.empty()) ans = "NO";
cout << ans<<"\n";
}
return 0;
}