Notice
Recent Posts
Recent Comments
Link
«   2026/05   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Archives
Today
Total
관리 메뉴

mo1lusca의 블로그

[백준] 9012 괄호 - C++ 본문

PS

[백준] 9012 괄호 - C++

mo1lusca 2025. 6. 1. 17:44

https://www.acmicpc.net/problem/9012


 

여는 괄호 '('를 stack에 push, 닫는 괄호 ')'를 stack에 pop하는 명령으로 생각한다.

stack이 empty일때 pop하거나 모든 명령을 실행한 후에도 stack이 empty가 아니라면

올바른 괄호 문자열(VPS)이 아니다.

 

#include <iostream>
#include <queue>
using namespace std;
int main() {
	int n;
	cin >> n;
	for (int i = 0; i < n; i++) {
		queue<int> q;
		string s;
		cin >> s;
		int len = s.length();
		bool is_vps = true;
		for (int j = 0; j < len; j++) {
			if (s[j] == '(') {
				q.push(1);
			}
			else if (s[j] == ')') {
				if (!q.empty()) {
					q.pop();
				}
				else {
					is_vps = false;
				}
			}
		}
		if (q.empty() && is_vps) {
			cout << "YES\n";
		}
		else {
			cout << "NO\n";
		}
	}
	return 0;
}

 

이제 보니 queue로 구현했는데, 어차피 특정한 값을 push, pop 하는게 아니라서

별 차이는 없을 것 같다.


 

'PS' 카테고리의 다른 글

[백준] 1966 프린터 큐 - C++  (0) 2025.06.01
[백준] 3986 좋은 단어 - C++  (0) 2025.06.01
[백준] 1181 단어 정렬 - Rust  (0) 2025.05.27
[백준] 1697 숨바꼭질 - C  (0) 2025.05.18
[백준] 2178 미로 탐색 - C  (0) 2025.05.18