인프런 커뮤니티 질문&답변

qwer1234님의 프로필 이미지
qwer1234

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

2-O

안녕하세요! 큰돌님 질문있습니다!

작성

·

242

·

수정됨

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점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.


qwer1234님의 프로필 이미지
qwer1234

작성한 질문수

질문하기