54.올바른 괄호

강지훈·2021년 12월 6일
0

괄호가 입력되면 올바른 괄호이면 “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;

}

profile
never stop

0개의 댓글