[백준 18258] 큐 2

alsry._.112·2023년 10월 7일
0

백준

목록 보기
77/102

🔗문제 풀러가기
단계별로 풀어보기 단계 16의 6번째 문제이다.

문제 분석

Queue를 사용하여 조건에 맞게 출력만 해주면 되는 문제이다.

코드

#include <iostream>
#include <queue>
using namespace std;

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

	int n, inputNum;
	string inputStr;
	queue<int> q;

	cin >> n;

	for (int i = 0; i < n; i++)
	{
		cin >> inputStr;

		if (inputStr == "push")
		{
			cin >> inputNum;
			q.push(inputNum);
		}
		else if (inputStr == "pop")
		{
			if (!q.empty())
			{
				cout << q.front() << "\n";
				q.pop();
			}
			else cout << -1 << "\n";

		}
		else if (inputStr == "size")
		{
			cout << q.size() << "\n";
		}
		else if (inputStr == "empty")
		{
			cout << q.empty() << "\n";
		}
		else if (inputStr == "front")
		{
			if (!q.empty()) cout << q.front() << "\n";
			else cout << -1 << "\n";
		}
		else if(inputStr == "back")
		{
			if (!q.empty()) cout << q.back() << '\n';
			else cout << -1 << "\n";
		}
	}
}
profile
소통해요

0개의 댓글