백준 균형잡힌 세상 C++
2023. 9. 29. 17:28ㆍ알고리즘
#include <iostream>
#include <stack>
using namespace std;
stack<char> s;
int main(void){
cin.tie(NULL);
ios::sync_with_stdio(false);
while(1){
string t;
getline(cin, t);
// cout<<endl<<"t = "<<t<<endl;
if (t=="."){
break;
}
bool flag = true;
for (int i=0;i<t.size();i++){
if (t[i]=='('){
s.push(t[i]);
}
else if (t[i]==')'){
if (s.empty()){
flag=false;
break;
}
if (s.top()=='('){
s.pop();
} else{
flag=false;
break;
}
}
else if (t[i]=='['){
s.push(t[i]);
}
else if (t[i]==']'){
if (s.empty()){
flag=false;
break;
}
if (s.top()=='['){
s.pop();
} else{
flag=false;
break;
}
}
}
// cout<<"flag = "<<flag<< "s.size = "<<s.size()<<endl;
if (flag==true && s.empty()){
cout<<"yes"<<endl;
}
else{
cout<<"no"<<endl;
}
while (!s.empty()){
s.pop();
}
}
}
스택을 이용해서 간단하게 구현할 수 문제이다.
'알고리즘' 카테고리의 다른 글
프로그래머스 네트워크 c++ (0) | 2023.09.30 |
---|---|
프로그래머스 타겟넘버 C++ (0) | 2023.09.30 |
프로그래머스 단어퍼즐 c++ (0) | 2023.09.29 |
백준 11005 진법 변환 2 C++ (0) | 2023.09.29 |
백준 1913 C++ (0) | 2023.09.29 |