본문 바로가기

알고리즘 풀이

백준 9012번 괄호

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


#include <iostream>
#include <cstring>
#include <stack>
#pragma warning(disable:4996)
using namespace std;
int main(void) {
int test_case = 0;
char str[51] = { 0, };
scanf("%d\n", &test_case);
for (int i = 0; i < test_case; ++i)
{
scanf("%s", &str);
int len = strlen(str);
bool flag = false;
stack<char> s;
for (int j = 0; j < len; ++j)
{
if (str[j] == '(')
s.push(str[j]);
else
{
if (s.empty())
{
flag = true;
break;
}
s.pop();
}
}
if (flag || !s.empty())
printf("NO\n");
else
printf("YES\n");
}
return 0;
}


'알고리즘 풀이' 카테고리의 다른 글

백준 15685번 드래곤 커브  (0) 2018.06.04
백준 1931번 회의실 배정  (0) 2018.05.07
백준 2805번 나무자르기  (0) 2018.04.17
백준 2512번 예산  (0) 2018.04.16
백준 1259번 팰린드롬 수  (0) 2018.04.08