CS/백준 & 프로그래머스
[백준]9012번 괄호 c/c++
성장하고픈개발자
2022. 6. 27. 22:46
728x90
728x90
문제
https://www.acmicpc.net/problem/9012
9012번: 괄호
괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고
www.acmicpc.net
코드
#include<iostream>
#include<stack>
using namespace std;
int main()
{
int tc;
cin >> tc; //테스트케이스
string ps;
for (int i = 0; i < tc; i++) {
cin >> ps; //문자열 입력
stack<char> stk; //스택 초기화
for (int j = 0; j < ps.length(); j++) {
if (ps[j] == '(') { //j번째 원소가 '(' 일때
stk.push(ps[j]); //원소 스택에 push
}
else if(ps[j]==')'){ //j번째 원소가 ')' 일때
if (!stk.empty()&&stk.top()=='(')
//스택이 비어있지 않고, 맨 위 원소가 '(' 일때
stk.pop(); //'('을 pop
else {
stk.push(ps[j]); //')'을 push
}
}
}
if (stk.empty())
cout << "YES" << endl; //스택이 비어있을때
else
cout << "NO" << endl; //스택이 비어있지 않을때
}
return 0;
}
728x90
728x90