728x90
 

10845번: 큐

첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 않은 명령이 주어지는 경우는 없다.

www.acmicpc.net

#include <iostream>
#include <tuple>
#include <algorithm>
#include <queue>
#include <vector>
#include <string>
using namespace std;


int main() {
	cin.tie(NULL);
	ios_base::sync_with_stdio(false);
	int n; 
	cin >> n;
	queue<int> q;
	for (int i = 0; i < n; i++) {
		string s;
		cin >> s;
		if (s == "push") {
			int num;
			cin >> num;
			q.push(num);
		}
		else if (s == "pop") {
			if (!q.empty()) {
				cout << q.front() << '\n';
				q.pop();
			}
			else cout << -1 << '\n';
		}
		else if (s =="empty") {
			cout << q.empty() << '\n';
		}
		else if (s == "size") {
			cout << q.size() << '\n';
		}
		else if (s == "front") {
			if (!q.empty())
				cout << q.front() << '\n';
			else cout << -1 << '\n';
		}
		else if (s == "back") {
			if (!q.empty())
				cout << q.back() << '\n';
			else cout << -1 << '\n';
		}
	}
	return 0;
}
728x90

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

[백준] 4153번 직각삼각형  (0) 2020.02.05
[백준] 3009번 네 번째 점  (0) 2020.02.05
[백준] 1260번 DFS와 BFS  (0) 2020.02.04
[백준] 1753번 최단경로  (0) 2020.02.04
[백준] 11279번 최대 힙  (0) 2020.02.03

+ Recent posts