괄호가 입력되면 올바른 괄호이면 “YES", 올바르지 않으면 ”NO"를 출력합니다.
(())() 이것은 괄호의 쌍이 올바르게 위치하는 거지만, (()()))은 올바른 괄호가 아니다.
▣ 입력설명
첫 번째 줄에 괄호 문자열이 입력됩니다. 문자열의 최대 길이는 30이다.
▣ 출력설명
첫 번째 줄에 YES, NO를 출력한다.
▣ 입력예제 1
(()(()))(()
▣ 출력예제 1
NO
▣ 입력예제 2
()()(()())
▣ 출력예제 2
YES
#include
#include
#include
using namespace std;
int main() {
stacks;
char a[50];
int i,flag=1;
cin>>a;
for(i=0;a[i]!='\0';i++){
if(a[i]=='(') {
s.push(a[i]);
}
else {
if(s.empty()) {
cout<<"NO";
flag=0; //신호변수 추가
break;
}
else s.pop();
}
}
if(s.empty()&&flag==1) cout<<"YES";
else if(!s.empty()&&flag==1)cout<<"NO";
return 0;
}