[C++] 백준 18258 : 큐2
#include <iostream>
#include <queue>
using namespace std;
int main(void){
std::ios_base::sync_with_stdio(false);
std::cin.tie(NULL);
std::cout.tie(NULL); // printf scanf와 cin cout 같이 쓰면 안됨
int N;
string str;
queue<int> queue;
cin >> N;
for(int i=0; i<N; i++){
cin >> str;
if(str == "push"){
int n;
cin >> n;
queue.push(n);
} else if(str == "pop"){
if(queue.empty()){
cout << -1 << "\n";
} else {
cout << queue.front() << "\n";
queue.pop();
}
} else if(str == "size"){
cout << queue.size() << "\n";
} else if(str == "empty"){
if(queue.empty()){
cout << 1 << "\n";
} else {
cout << 0 << "\n";
}
} else if(str == "front"){
if(queue.empty()){
cout << -1 << "\n";
} else {
cout << queue.front() << "\n";
}
} else if(str == "back"){
if(queue.empty()){
cout << -1 << "\n";
} else {
cout << queue.back() << "\n";
}
}
}
return 0;
}
기본 큐 문제랑 같은 문제. 다만 입출력을 빨리하는 것으로 바꿔주어야했다.
라이브러리를 이용했기 때문에 느린 것이 아니라, cin cout endl 때문에 느린 것이었다.
하지만 queue STL 라이브러리를 사용했기때문에 cin, cout을 사용해야했고
std::ios_base::sync_with_stdio(false);
std::cin.tie(NULL);
std::cout.tie(NULL);
을 사용해서 cin, cout 의 시간을 줄여주어야했다.
주의할 점!
printf scanf와 cin cout 같이 쓰면 안됨, 하나만 쓰기!
Author And Source
이 문제에 관하여([C++] 백준 18258 : 큐2), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@lamknh/C-백준-18258-큐2저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)