SMALL
안녕하세요 오늘은 큐의 함수를 입력했을때, 그 함수가 실행되고, 그 경과를 출력해야하는 문제를 풀겠습니다.
전략:
1. 큐를 선언한다.
2. N번 반복하는 for문을 만들어서 string타입의 a변수를 선언하여 cin으로 입력을 받는다.
3. 입력 받은 a가 push이면 또 int타입의 변수를 선언하여 push함수를 실행해준다.
4. 그 외 front, back, pop은 q.size()를 통하여 만약 안에 들어있는 정수가 존재하지 않는다면 -1을 출력해주고 그게 아니라면 정상적으로 그 함수들을 실행해준다.
코드:
#include <bits/stdc++.h>
using namespace std;
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int N;
cin>>N;
queue<int> q;
for(int i= 0; i<N; i++){
string a;
cin>>a;
if(a=="push"){
int b;
cin>>b;
q.push(b);
}
else if(a=="front") {
if(q.size() == 0){
cout<<"-1"<<"\n";
continue;
}
cout<<q.front()<<"\n";
}
else if(a=="back"){
if(q.size() == 0){
cout<<"-1"<<"\n";
continue;
}
cout<<q.back()<<"\n";
}
else if(a=="empty") cout<<q.empty()<<"\n";
else if(a=="pop"){
if(q.size() == 0){
cout<<"-1"<<"\n";
continue;
}
cout<<q.front()<<"\n";
q.pop();
}
else {
cout<<q.size()<<"\n";
}
}
}
LIST
'BOJ 문제풀이' 카테고리의 다른 글
백준 10866번 c++ 풀이 (0) | 2021.08.06 |
---|---|
백준 2164번 c++ 풀이 (0) | 2021.08.06 |
백준 11050번 c++ 풀이 (0) | 2021.08.05 |
백준 18870번 c++ 풀이 (0) | 2021.08.05 |
백준 1920번 c++ 풀이 (0) | 2021.08.04 |