너무 맘이 급해 잘 모르는데 억지로 하는거 같아 차근차근 해보려고 한다,,^^
스택사용을 위해 푸는 문제인데 아무 생각 없이 변수 더하고 빼는 방식으로 했다가 고쳤다...
더 열심히 해서 얼른 익숙해지면 좋겠다.
#include <iostream>
#include <stack>
#include <string.h>
using namespace std;
char ch[50] = { 0 };
int VPS() {
stack<char>s;
for (int j = 0; j < (int)strlen(ch); j++) {
if (ch[j] == '(') {
s.push(ch[j]);
}
else {
if (!s.empty())
s.pop();
else
return 0;
}
}
return s.empty();
}
int main() {
int i, test_case;
cin >> test_case;
for (i = 0; i < test_case; i++) {
cin >> ch;
if (VPS())
cout << "YES" << endl;
else
cout << "NO" << endl;
}
}
'자윤이와고리즘 > Code' 카테고리의 다른 글
[백준]1934|최소공배수 (0) | 2019.05.07 |
---|---|
[백준]2609|최대공약수와최소공배수 (0) | 2019.05.07 |
[백준]9372|상근이의여행 (0) | 2019.03.22 |
[백준]7576번|토마토 (0) | 2019.03.22 |
[백준]1260번|DFS와BFS (0) | 2019.03.22 |