Algorithm/백준

[백준] 18258 큐 2 with C++

nowkoes 2023. 5. 14. 00:00

문제설명


입출력 예제


개념

 큐의 기본적인 구조를 잘 이해하고 있는지 묻는 문제다. 기존의 스택(10828) 문제처럼 입력받은 문자열에 맞게 큐의 동작을 수행하게끔 작성하면 해결할 수 있다.


풀이

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

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

	int N, n;
	cin >> N;
	queue<int> q;

	while (N--)
	{
		string str;
		cin >> str;

		if (str == "push")
		{
			cin >> n;
			q.push(n);
		}

		else if (str == "front")
		{
			if (q.empty())
				cout << "-1\n";

			else
				cout << q.front() << '\n';
		}

		else if (str == "back")
		{
			if (q.empty())
				cout << "-1\n";

			else
				cout << q.back() << '\n';
		}

		else if (str == "size")
			cout << q.size() << '\n';

		else if (str == "empty")
			cout << q.empty() << '\n';

		else if (str == "pop")
		{
			if (q.empty())
				cout << "-1\n";

			else
			{
				n = q.front();
				cout << n << '\n';
				q.pop();
			}
		}
	}
}

 

반응형