링크 : www.acmicpc.net/problem/9012
스택으로 굳이 안풀어도 되지만 시키는대로 스택을 활용했다.
이 유형의 문제는 4번정도 본 것 같다.
간만에 쉬운 문제를 푸니 마음이 힐링된다.
#include<iostream>
#include<stack>
#include<string>
using namespace std;
int main() {
ios::sync_with_stdio(NULL);
cin.tie(NULL);
int t = 0, cnt = 0, ans = 0;
string temp = "";
stack<char> s;
cin >> t;
while (t > 0) {
ans = 0;
cin >> temp;
for (int i = 0; i < temp.size(); i++) {
if (temp[i] == '(') s.push(temp[i]);
else {
if (s.empty()) {
ans = 1;
break;
}
else s.pop();
}
}
if (ans == 0 && s.empty()) cout << "YES" << "\n";
else cout << "NO" << "\n";
while (!s.empty()) s.pop();
t--;
}
return 0;
}
'🖥️ CS > Baekjoon Algorithms' 카테고리의 다른 글
#1676번 팩토리얼 0의 개수 (C++) (0) | 2020.11.09 |
---|---|
#9375번 패션왕 신해빈 (C++) (0) | 2020.11.09 |
#11051번 이항 계수2 (C++) (0) | 2020.11.05 |
#3036번 링 (C++) (0) | 2020.11.03 |
#2609번 최대공약수와 최대공배수 (C++) (0) | 2020.11.02 |