[백준 c++] 9012 괄호

jw·2022년 2월 25일
0

백준

목록 보기
24/141
post-thumbnail

문제 설명

https://www.acmicpc.net/problem/9012
한 쌍의 괄호 기호로 된 ( ) 문자열 또는 이 문자열을 한 쌍의 괄호에 넣은 (()) 문자열들을 VPS라고 부를 때, 입력된 괄호 문자열이 VPS인지 판단하는 문제다.

아이디어

(이 들어오면 open++
)이 들어오면 open--
)이 들어왔는데 open==0 이면 NO

전체 코드

#include<iostream>
#include<string>
using namespace std;
int t;
string s;
int main() {
	cin >> t;
	while (t--) {
		int flagStart=0;
		int open=0, close = 0;
		cin >> s;

		for (int i = 0; i < s.size(); i++) {
			if (s[i] == '(')open++;
			else {
				if (open == 0) {
					flagStart = 0;
					break;
				}
				else {
					open--;
					flagStart = 1;
				}
			}
		}
		if (flagStart == 0 || open != 0)cout << "NO\n";
		else cout << "YES\n";
	}
	
}
profile
다시태어나고싶어요

0개의 댓글