너무 맘이 급해 잘 모르는데 억지로 하는거 같아 차근차근 해보려고 한다,,^^

스택사용을 위해 푸는 문제인데 아무 생각 없이 변수 더하고 빼는 방식으로 했다가 고쳤다...

더 열심히 해서 얼른 익숙해지면 좋겠다.

#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

+ Recent posts