본문 바로가기

Algorithm

백준 10845번 큐

반응형
  • 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