알고리즘 분류
자료 구조
큐
문제 해결 아이디어
vector를 이용하여 queue의 구조인 FIFO(첫번째로 들어온 것이 가장 먼저 나간다)를 구현하였다,
코드
#include <iostream>
#include <vector>
using namespace std;
vector<int> v;
int main()
{
int n;
cin >> n;
string s;
int num;
for (int i = 0; i < n; i++)
{
cin >> s;
if (s == "push")
{
cin >> num;
v.push_back(num);
}
else
{
if (s == "pop")
{
if (v.size() == 0) cout << -1 << endl;
else
{
cout << v.front() << endl;
v.erase(v.begin());
}
}
else if (s == "size")
{
cout << v.size() << endl;
}
else if (s == "empty")
{
cout << v.empty() << endl;
}
else if (s == "front")
{
if (v.size() == 0) cout << -1 << endl;
else
cout << v.front() << endl;
}
else if (s == "back")
{
if (v.size() == 0) cout << -1 << endl;
else
cout << v.back() << endl;
}
}
}
}
'Algorithm > 스택과 큐' 카테고리의 다른 글
백준 카드2(2164) C++ 풀이 (0) | 2023.01.30 |
---|---|
백준 큐 2(18258) C++ 풀이 (0) | 2023.01.30 |
백준 히스토그램에서 가장 큰 직사각형(6549) C++ 풀이 (0) | 2023.01.30 |
백준 오아시스 재결합(3015) C++ 풀이 (0) | 2023.01.30 |
백준 오큰수(17298) C++ 풀이 (0) | 2023.01.28 |