작성
·
243
·
수정됨
0
2-O문제에서 공백이 포함된 문자열들을 여러개 입력받을때 풀이에서는 bufferflush를 안했는데 안해도 되는 이유가 있을까요?? 궁금해서 질문드립니다!
2-O 해설코드입니다!
#include <bits/stdc++.h>
using namespace std;
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
while(true){
string s;
getline(cin, s);
if(s == ".") break;
stack<int> stk;
bool check = true;
for(int i = 0; i < s.length(); i++){
if(s[i] == ')'){
if(stk.size() == 0 || stk.top() == '['){
check = false;
break;
}else{
stk.pop();
}
}
if(s[i] == ']'){
if(stk.size() == 0 || stk.top() == '('){
check = false;
break;
}else{
stk.pop();
}
}
if(s[i] == '(') stk.push(s[i]);
if(s[i] == '[') stk.push(s[i]);
}
if(check && stk.size() == 0) cout << "yes\n";
else cout << "no\n";
}
return 0;
}
답변 1
0
안녕하세요 ㅎㅎ
버퍼플래시는 이경우에만 해당한다고 보시면 됩니다.
5
asldjaskl alsdjaks
asda asd
asldkja a
ss asd
asds d
이렇게 처음에 어떠한 input이 주어지고 >> getline으로 받아야 할 때 필요하다 라고 보시면 됩니다.
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.