백준 문제/자료구조

[백준] 10845번 큐

dubu0721 2024. 11. 26. 19:31

문제: 10845번: 큐

 

#include <map>
#include <set>
#include <cmath>
#include <queue>
#include <stack>
#include <vector>
#include <string>
#include <iostream>
#include <algorithm>
#include <iomanip> // setprecision을 사용하기 위한 헤더
#include <climits>

using namespace std;

int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);

	int n;
	cin >> n;

	queue<int> q;
	while (n-- > 0) {
		string order;
		cin >> order;
		int num;

		if (order == "push") {
			cin >> num;

			q.push(num);
		}
		else if (order == "front") {
			if (q.empty())
				cout << -1 << "\n";
			else {
				num = q.front();
				cout << num << "\n";
			}			
		}
		else if (order == "back") {
			if (q.empty())
				cout << -1 << "\n";
			else {
				num = q.back();
				cout << num << "\n";
			}
		}
		else if (order == "size") {
			cout << q.size() << "\n";
		}
		else if (order == "empty") {
			if (q.empty())
				cout << "1" << "\n";
			else
				cout << "0" << "\n";
		}
		else {
			if (q.empty())
				cout << "-1" << "\n";
			else {
				num = q.front();
				q.pop();
				cout << num << "\n";
			}
		}
	}


	return 0;
}

 

음.. 오늘은 큐 기초 문제를 풀었다. 이미 알고 있는 문제다 보니까 쉽게 풀었다. 중요한 자료구조 중 하나니까 항상 잊지말고 기억하도록 하자..