[BaekJoon]백준 9012번 괄호
문제: https://www.acmicpc.net/problem/9012
내코드
-엄청 간단한문제였다.
-stack을 이용해서 '('인경우 push해주고 ')'인 경우 pop을 해줘서
-pop을 해줘야하는데 top의 값이 -1이거나
-testCase가 끝났는데 stack안에 아직 값이 남아있어서 top이 -1이 아닌경우
-NO를 출력해줘야한다.
#include <iostream>
#include <string.h>
using namespace std;
int main(void)
{
ios::sync_with_stdio(false);
cin.tie(0);
int testCase; cin >> testCase;
while (testCase--) {
int stack[100];
int top = -1;
string input = "";
cin >> input;
bool isVPS = true;
int len = input.length();
for (int i = 0; i < len; i++) {
if (input[i] == '(') {
stack[++top] = 1;
}
else {
if (top == -1) {
isVPS = false;
break;;
}
else {
stack[top--];
}
}
}
if (top != -1) isVPS = false;
if (isVPS == true) cout << "YES\n";
else cout << "NO\n";
}
return 0;
}
참고
728x90
반응형
'CS > Algorithm 문제' 카테고리의 다른 글
[Baekjoon]백준 2504번 괄호의 값 (0) | 2020.01.23 |
---|---|
[BaekJoon] 백준 10799번 쇠막대기 (0) | 2019.12.12 |
[BaekJoon]백준 5430번 AC - C++, Python (0) | 2019.12.03 |
[BaekJoon]백준 1021번 회전하는 큐 (0) | 2019.12.02 |
[BaekJoon] 백준 1874번 스택 수열 (0) | 2019.11.04 |