알고리즘 - 괄호

pa324·2019년 10월 9일
0
#include <iostream>
#include <stack>
#include <string>
using namespace std;
string valid(string str) {
		stack<char> s;
		
		for(int i = 0; i < str.length(); i++) {
			if(str[0] == ')') {	
					return "NO";
			}
			else if(str[i] == '(') {
				s.push(str[i]); 
			}
			else if(str[i] == ')') {
				
				if(s.empty()) {
					return "NO";
				}else {
					s.pop();
				}
			} 
			
		}
		
		if(s.empty()) return "YES";
		else return "NO";
		
}
int main() {
	
	int T;
	cin >> T;
	cin.ignore();
	while(T--) {
		
		string str;
		getline(cin,str); 
		str += '\n';
		cout << valid(str) << '\n';
	}
	return 0;
}
profile
안녕하세요

0개의 댓글