- push X: 정수 X를 큐에 넣는 연산이다.
- pop: 큐에서 가장 앞에 있는 정수를 빼고, 그 수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다.
- size: 큐에 들어있는 정수의 개수를 출력한다.
- empty: 큐가 비어있으면 1, 아니면 0을 출력한다.
- front: 큐의 가장 앞에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다.
- back: 큐의 가장 뒤에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다.
배열 사용하든지 벡터를 사용하든지 기능을 직접 구현하니 문제 조건 보다 메모리를 더 쓰게 되어서
자꾸 틀렸다고 하는 탓에, 그냥 STL에서 제공하는 queue를 사용해서 하기로 했다.
뭐 너무나도 쉬운문제....
#include <iostream>
#include <queue>
#include <string>
using namespace std;
int main(void)
{
queue queue;
int size=0;
string name;
int N;
cin>>N;
for( int i=0; i<N; i++)
{
cin>>name;
if(name == "push")
{
int x;
cin >> x;
queue.push(x);
}
else if(name == "pop")
{
if(!queue.empty())
{
cout<<queue.front()<<endl;
queue.pop();
}
else {cout << -1<<endl;
}
}
else if(name == "size")
{
cout<<queue.size() << endl;
}
else if(name == "empty")
{
if(queue.empty()){
cout << 1 << endl;
}
else{
cout << 0<<endl;
}
}
else if( name == "front")
{
if(!queue.empty()){
cout <<queue.front()<<endl;
}
else{
cout << -1 <<endl;
}
}
else if( name == "back")
{
if(!queue.empty()){
cout <<queue.back()<<endl;
}
else{
cout << -1 <<endl;
}
}
}
'Algorithm' 카테고리의 다른 글
백준 2562번 최대값 (0) | 2019.07.02 |
---|---|
백준 1100번 하얀칸 (0) | 2019.07.01 |
백준 10821번 정수의 개수 (0) | 2019.07.01 |
백준 10866번 덱 (0) | 2019.07.01 |
백준 10828번 스택 (0) | 2019.06.29 |