🖥️ CS/Baekjoon Algorithms

#9012번 괄호 (C++)

한국의 메타몽 2020. 11. 5. 14:03

링크 : www.acmicpc.net/problem/9012

 

9012번: 괄호

괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고

www.acmicpc.net

스택으로 굳이 안풀어도 되지만 시키는대로 스택을 활용했다.

이 유형의 문제는 4번정도 본 것 같다.

간만에 쉬운 문제를 푸니 마음이 힐링된다.

 

#include<iostream>
#include<stack>
#include<string>
using namespace std;

int main() {
	ios::sync_with_stdio(NULL);
	cin.tie(NULL);
	int t = 0, cnt = 0, ans = 0;
	string temp = "";
	stack<char> s;
	cin >> t;
	while (t > 0) {
		ans = 0;
		cin >> temp;
		for (int i = 0; i < temp.size(); i++) {
			if (temp[i] == '(') s.push(temp[i]);
			else {
				if (s.empty()) {
					ans = 1;
					break;
				}
				else s.pop();
			}
		}
		if (ans == 0 && s.empty()) cout << "YES" << "\n";
		else cout << "NO" << "\n";
		while (!s.empty()) s.pop();
		t--;
	}
	return 0;
}