반응형
백준: 큐
문제난이도: 실버4
#include <iostream>
#include <algorithm>
#include <vector>
#include <string>
#include <stack>
#include <queue>
using namespace std;
int main()
{
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
string str;
queue<int> q; //큐선언
int n; //명령의수
int temp;
cin >> n;
for (int i = 0; i < n; i++) //명령의 수만큼 반복
{
cin >> str;
if (str=="push")
{
cin >> temp;
q.push(temp); //큐에 정수를 push
}
else if (str == "pop")
{
if (q.empty())
cout << -1 << '\n';
else
{
cout << q.front() << '\n'; //가장앞에있는 정수 출력
q.pop(); //정수삭제
}
}
else if (str=="size")
cout << q.size() << '\n'; //큐의 사이즈 반환
else if (str == "empty")
{
if (q.empty())
cout << 1 << '\n';
else
cout << 0 << '\n';
}
else if (str == "front")
{
if (q.empty())
cout << -1 << '\n';
else
cout << q.front() << '\n';
}
else if (str == "back")
{
if (q.empty())
cout << -1 << '\n';
else
cout << q.back() << '\n'; //가장뒤에있는 정수 반환
}
}
return 0;
}
반응형
'Programming > Baekjoon' 카테고리의 다른 글
백준 11656 c++ (0) | 2022.01.20 |
---|---|
백준 10866 c++ (0) | 2022.01.20 |
백준 10828 c++ (0) | 2022.01.19 |
백준 11651 c++ (0) | 2022.01.18 |
백준 11650 c++ (0) | 2022.01.18 |