-
728x90
일단 문자열의 첫 문자를 스택에 넣어둔 다음에,
스택 맨 위와 다음 문자열이 '( )'가 되면, pop()하고
스택이 비어있거나 VPS가 되지 않는다면 push()하도록 구현하였다.#include <iostream> #include <stack> #include <string> using namespace std; int main() { int t = 0; cin >> t; cin.ignore(); for (int i = 0; i < t; i++) { stack<char> ps; string s; getline(cin, s); ps.push(s[0]); for (int j = 1; j < s.length(); j++) { if (!ps.empty() && ps.top() == '('&& s[j] == ')') ps.pop(); else ps.push(s[j]); } if (ps.empty() == true) cout << "YES" << endl; else cout << "NO" << endl; } return 0; }
성공 ^◇^
'알고리즘 풀이 > 백준' 카테고리의 다른 글
[10845] 백준 알고리즘 : 큐(C++) (0) 2019.11.20 [1874] 백준 알고리즘 : 스택 수열(C++) (0) 2019.11.20 [9093] 백준 알고리즘 : 단어 뒤집기(C++) (0) 2019.11.19 [10828] 백준 알고리즘 : 스택(C++) - 공부후 (0) 2019.11.15 [10828] 백준 알고리즘 : 스택(C++) - 공부전 (0) 2019.11.14 댓글