Problem Solving/백준

[백준-10845] 큐

<문제>


<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;
}


www.acmicpc.net/problem/10845

 

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