boj 9012 c++ 괄호
백준 9012 cpp 괄호
전제: ')'를 만나면 스택의 맨 위에 '('가 있어야 한다.
스택이 비어있어서는 안 된다.
((())
같은 경우를 대비해 한 문장이 끝날 때 Stack 이 비어있으면 안 된다.
정답코드
#include <bits/stdc++.h>
using namespace std;
int ea;
string line;
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cin >> ea;
while (ea--)
{
stack<int> S;
bool iserror = false;
cin >> line;
for (int i = 0; i < line.size(); i++)
{
char c = line[i];
if (c == '(')
{
S.push(c);
}
else //c == ')'
{
if (S.empty() || S.top() != '(')
{
iserror = true;
break;
}
S.pop();
}
}
if (!S.empty() || iserror == true)
{
cout << "NO\n";
}
else
{
cout << "YES\n";
}
}
}
'Algorithm' 카테고리의 다른 글
boj 1012 c++ 유기농 배추 (0) | 2020.09.07 |
---|---|
boj 4889 c++ 안정적인 문자열 (0) | 2020.09.04 |
boj 2504 c++ 괄호의 값 (0) | 2020.09.02 |
boj 10799 c++ 쇠막대기 (0) | 2020.08.31 |
BOJ 1021 c++ 회전하는 큐 (0) | 2020.08.29 |
최근댓글