1일1알

백준 18258번 큐 2 C++ 본문

알고리즘

백준 18258번 큐 2 C++

영춘권의달인 2022. 6. 6. 12:58

출처 : https://www.acmicpc.net/problem/18258

 

큐 자료구조를 이용하였다.

 

#include <iostream>
#include <string>
#include <vector>
#include <math.h>
#include <algorithm>
#include <utility>
#include <stack>
#include <queue>
#include <math.h>
#include <set>
#include <map>
#include <list>
#include <unordered_map>
#include <unordered_set>
#include <iomanip>
#include <limits.h>

using namespace std;
using ll = long long;

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

	int n;
	cin >> n;
	int back;
	queue<int> q;
	while (n--) {
		string order;
		cin >> order;
		if (order == "push") {
			int x;
			cin >> x;
			q.push(x);
			back = x;
		}
		else if (order == "pop") {
			if (q.empty()) {
				cout << -1 << "\n";
				continue;
			}
			int front = q.front();
			q.pop();
			cout << front << "\n";
		}
		else if (order == "size") {
			cout << q.size() << "\n";
		}
		else if (order == "empty") {
			cout << q.empty() << "\n";
		}
		else if (order == "front") {
			if (q.empty()) {
				cout << -1 << "\n";
				continue;
			}
			cout << q.front() << "\n";
		}
		else if (order == "back") {
			if (q.empty()) {
				cout << -1 << "\n";
				continue;
			}
			cout << back << "\n";
		}
	}
};

'알고리즘' 카테고리의 다른 글

백준 2504번 괄호의 값 C++  (0) 2022.06.08
백준 1715번 카드 정렬하기 C++  (0) 2022.06.07
백준 1021번 회전하는 큐 C++  (0) 2022.06.05
백준 1406번 에디터 C++  (0) 2022.06.04
백준 10815번 숫자 카드 C++  (0) 2022.06.03