http://acmicpc.net/problem/10845
{코드}
#include <iostream>
#include <queue>
#include <string>
using namespace std;
int main() {
queue<int> q;
string ip;
int tmp, n;
scanf("%d", &n);
while (n--)
{
cin >> ip;
if (ip == "pop") {
if (!q.empty()) {
printf("%d\n", q.front());
q.pop();
}
else {
printf("-1\n");
}
}
else if (ip == "size") {
printf("%d\n", q.size());
}
else if (ip == "empty") {
if (!q.empty()) {
printf("0\n");
}
else {
printf("1\n");
}
}
else if (ip == "front") {
if (!q.empty()) {
printf("%d\n", q.front());
}
else {
printf("-1\n");
}
}
else if (ip == "back") {
if (!q.empty()) {
printf("%d\n", q.back());
}
else {
printf("-1\n");
}
}
else {
scanf("%d", &tmp);
q.push(tmp);
}
}
}
{설명}
이 문제는 큐를 구현하는 문제지만 C++의 큐 헤더를 통해 간단히 구현할 수 있습니다.
*큐와 큐의 메소드에 대한 설명은 이 글을 참고해주시기 바랍니다.
'알고리즘 공부 > BOJ백준 풀이' 카테고리의 다른 글
[백준 19941번-파이썬] 햄버거 분배 (0) | 2021.05.08 |
---|---|
[백준 10866번-C++] 덱 (0) | 2021.05.07 |
[백준 1158번-C++] 요세푸스 문제 (0) | 2021.05.07 |
[백준 1406번-C++] 에디터 (0) | 2021.05.07 |
[백준 1874번-C++] 스택 수열 (0) | 2021.05.07 |