반응형
#include <iostream>
#include <string>
#include <stack>
using namespace std;
int main() {
string k;
int T;
cin >> T;
for (int i = 0; i < T; i++)
{
cin >> k;
stack <char>s;
stack <char> c;
for (int i = 0; i < k.size(); i++)
{
if (k[i] == '(')//( 을 저장
c.push(k[i]);
else if (k[i] == ')')
{
s.push(k[i]);
if (c.empty()) { break; }//닫는 괄호가 나왔는데 여는 괄호가 없다면 NO를 출력
c.pop();
s.pop();
}
}
if (c.empty() && s.empty()) { cout << "YES" << '\n'; }
else if (!c.empty() || !s.empty()) { cout << "NO" << '\n'; } //둘 중 하나의 스텍이 비어있지 않다면
}
}
'Algorithm' 카테고리의 다른 글
C++(씨쁠쁠)(cplusplus)-백준(baekjoon)(BaekJoon)코딩 1850번:최대공약수 답 (0) | 2017.02.10 |
---|---|
C++(씨쁠쁠)(cplusplus)-백준(baekjoon)(BaekJoon)코딩 3036번:링 답 (0) | 2017.02.10 |
(C++) - 백준(BOJ) 13241번 : 최소공배수 답 (0) | 2017.02.10 |
C++(씨쁠쁠)(cplusplus)-백준(baekjoon)(BaekJoon)코딩 4963번:섬의 개수(DFS) 답 (0) | 2017.02.08 |
C++(씨쁠쁠)(cplusplus)-백준(baekjoon)(BaekJoon)코딩 4963번:섬의 개수(BFS) 답 (0) | 2017.02.08 |