괄호가 입력되면 올바른 괄호이면 “YES", 올바르지 않으면 ”NO"를 출력합니다.
(())() 이것은 괄호의 쌍이 올바르게 위치하는 거지만, (()()))은 올바른 괄호가 아니다.
▣ 입력설명
첫 번째 줄에 괄호 문자열이 입력됩니다. 문자열의 최대 길이는 30이다.
▣ 출력설명
첫 번째 줄에 YES, NO를 출력한다.
▣ 입력예제 1
(()(()))(()
▣ 출력예제 1
NO
▣ 입력예제 2
()()(()())
▣ 출력예제 2
YES
#include
using namespace std;
int main()
{
char a[35];
cin>>a;
int i,right=0,left=0;
for(i=0;a[i]!='\0';i++){
if(a[0]==')'){
cout<<"NO"; //맨처음 )로 시작하면 no출력
return 0;
}
else if(a[i]=='('){
left++; // '(' 를 받으면 left가 ++
}
else if(a[i]==')'){
right++; // ')'를 받으면 right가 ++
}
if(right>left) {
cout<<"NO";
return 0; // ()) 처럼 )가 많으면 no출력
}
}
if(right==left) cout<<"YES"; 괄호의 숫자가 같으면 yes출력
else cout<<"NO"; // 아니면 no출력
return 0;
}