Programming/Baekjoon

백준 10845 c++

fishersheep 2022. 1. 20. 15:06
반응형

백준: 큐

문제난이도: 실버4

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


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

	string str;
	queue<int> q;	//큐선언

	int n;	//명령의수
	int temp;
	
	cin >> n;

	for (int i = 0; i < n; i++)	//명령의 수만큼 반복
	{	
		cin >> str;

		if (str=="push")
		{	
			cin >> temp;
			q.push(temp);	//큐에 정수를 push
		}
		else if (str == "pop")
		{
			if (q.empty())
				cout << -1 << '\n';
			else
			{

				cout << q.front() << '\n';	//가장앞에있는 정수 출력
				q.pop();	//정수삭제
			}
		}
		else if (str=="size")	
			cout << q.size() << '\n';	//큐의 사이즈 반환
		else if (str == "empty")
		{
			if (q.empty())
				cout << 1 << '\n';
			else
				cout << 0 << '\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';	//가장뒤에있는 정수 반환
		}

	}
	return 0;
}
반응형

'Programming > Baekjoon' 카테고리의 다른 글

백준 11656 c++  (0) 2022.01.20
백준 10866 c++  (0) 2022.01.20
백준 10828 c++  (0) 2022.01.19
백준 11651 c++  (0) 2022.01.18
백준 11650 c++  (0) 2022.01.18