728x90
728x90
문제
https://www.acmicpc.net/problem/9012
코드
#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
'개발 > 백준 & 프로그래머스' 카테고리의 다른 글
[백준]2522번 별 찍기-12 c/c++ (0) | 2022.07.01 |
---|---|
[백준]2445번 별 찍기-8 c/c++ (0) | 2022.07.01 |
[백준]2442번 별 찍기-5 c/c++ (0) | 2022.06.27 |
[백준]11720번 숫자의 합 c/c++ (0) | 2022.06.27 |
[백준]10953번 A+B -6 c/c++ (0) | 2022.06.27 |