관리 메뉴

기억을 위한 기록들

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

Coding Test - cpp/String

[백준 9012: 괄호] - C++

에드윈H 2021. 2. 19. 15:37

www.acmicpc.net/problem/9012

 

9012번: 괄호

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

www.acmicpc.net

 

#include <iostream>
#include <string>

using namespace std;

int main() {

	int n;
	cin >> n;
	cin.ignore();
	string input;


	for (int i = 0; i < n; i++)
	{

		int num = 0;
		bool IsFail = false;
		cin >> input;
		int size = input.size();
		for (int j = 0; j < size; j++)
		{
			if (input[j] == '(')
			{
				num++;
			}
			else if (input[j] == ')' && num > 0)
			{
				num--;
			}
			else
			{
				IsFail = true;
			}
		}

		if (IsFail || num != 0)
			cout << "NO" << "\n";
		else if (num == 0)
		{
			cout << "YES" << "\n";
		}


	}

	return 0;
}