[C++]伯俊4949:均衡の世界
#include <iostream>
#include <stack>
using namespace std;
string str;
char c;
int main(int argc, char **argv){
do{
getline(cin, str); // 한 줄 입력받기
stack<int> s;
bool flag = true;
for(int i=0; i<str.size(); i++){
c = str[i];
if(c == '('){
s.push(1);
} else if(c == ')'){
if(!s.empty() && s.top() == 1){
s.pop();
} else {
flag = false;
break;
}
} else if(c == '['){
s.push(2);
} else if(c == ']'){
if(!s.empty() && s.top() == 2){
s.pop();
} else {
flag = false;
break;
}
}
}
if(!s.empty()){
flag = false;
}
if(str != "."){
if(flag){
printf("yes\n");
} else {
printf("no\n");
}
}
} while(str != ".");
return 0;
}
典型的なスタック問題.でもスペースを入力していないので悩んでいます!getline(cin, str);//シングルライン入力の受信
行全体を入力できます.
Reference
この問題について([C++]伯俊4949:均衡の世界), 我々は、より多くの情報をここで見つけました https://velog.io/@lamknh/C-백준-4949-균형잡힌-세상テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol