나의 브을로오그으

[c++] 9012번 : 괄호 본문

알고리즘/BaekJoon

[c++] 9012번 : 괄호

__jhp_+ 2022. 5. 4. 14:37

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

 

9012번: 괄호

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

www.acmicpc.net

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

int main()
{
	ios::sync_with_stdio(false);
	cin.tie(NULL);
	stack<char> s;
	char buffer[51] = { 0, };

	int T = 0;
	cin >> T;
	cin.ignore();

	for (int i = 0; i < T; ++i)
	{
		while (!s.empty()) { s.pop(); }
		memset(buffer, 0, sizeof(buffer));

		cin.getline(buffer, sizeof(buffer));

		int j = 0;
		bool bVPS = true;
		while (buffer[j] != '\0')
		{
			if (buffer[j] == '(')
			{
				s.push(buffer[i]);
			}
			else if (buffer[j] == ')')
			{
				if (s.empty() == true)
				{
					bVPS = false;
					break;
				}
				else
				{
					s.pop();
				}
			}
			++j;
		}
		if (s.empty() == false) bVPS = false;
		cout << (bVPS == true ? "YES" : "NO") << '\n';
	}
	
	return 0;
}

'알고리즘 > BaekJoon' 카테고리의 다른 글

[c++] 10773번 : 제로  (0) 2022.05.05
[c++] 10250번 : ACM 호텔  (0) 2022.05.04
[c++] 7568번 : 덩치  (0) 2022.05.04
[c++] 4949번 : 균형잡힌 세상  (0) 2022.04.30
[c++] 4153번 : 직각삼각형  (0) 2022.04.30