<문제>
<Code>
#include <iostream>
#include <string>
#include <queue>
using namespace std;
int main(){
int n;
cin>>n;
queue<int> q;
int num;
for(int i=0;i<n;i++){
string str;
cin>>str;
if(str=="push"){
int data;
cin>>data;
q.push(data);
}else if(str=="pop"){
if(q.size()!=0){
num=q.front();
q.pop();
}else{
num=-1;
}
cout<<num<<endl;
}else if(str=="size"){
cout<<q.size()<<endl;
}else if(str=="empty"){
if(q.size()==0){
num=1;
}else{
num=0;
}
cout<<num<<endl;
}else if(str=="front"){
if(q.size()==0){
num=-1;
}else{
num=q.front();
}
cout<<num<<endl;
}else if(str=="back"){
if(q.size()==0){
num=-1;
}else{
num=q.back();
}
cout<<num<<endl;
}
}
return 0;
}
10845번: 큐
첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지
www.acmicpc.net
'Problem Solving > 백준' 카테고리의 다른 글
[백준-10773] 제로 (0) | 2021.03.24 |
---|---|
[백준-1158] 요세푸스 문제 (0) | 2021.03.22 |
[백준-10828] 스택 (0) | 2021.03.17 |
[백준-9012] 괄호 (0) | 2021.02.05 |
[백준-15596] 정수 N개의 합 (0) | 2021.02.05 |