[C++] 18258 : 큐 2

리폐·2023년 11월 6일

백준

목록 보기
11/18
post-thumbnail

📝 문제

18258 : 큐 2


✏️ 입력

15
push 1
push 2
front
back
size
empty
pop
pop
pop
size
empty
pop
push 3
empty
front

💻 출력

1
2
2
0
1
2
-1
0
1
-1
0
3

⌨️ 소스코드

//18258 큐 2
#include <iostream>
#include <queue>
#include <string>
using namespace std;

int main() {
	ios_base::sync_with_stdio(0);
	cin.tie(0);

	int n;
	cin >> n;
	queue<int> que;

	for (int i = 0; i < n; i++) {
		string st;
		cin >> st;
		if (st[0] == 'p') {
			if (st[1] == 'u') { //push
				int x;
				cin >> x;
				que.push(x);
			}
			else { //pop
				if (que.empty()) cout << "-1" << "\n";
				else {
					cout << que.front() << "\n";
					que.pop();
				}
			}
		}
		else if(st[0] =='f') { //front
			if (que.empty()) cout << "-1" << "\n";
			else cout << que.front() << "\n";
		}
		else if (st[0] == 'b') { //back
			if (que.empty()) cout << "-1" << "\n";
			else cout << que.back() << "\n";
		}
		else if(st[0] =='s') { //size
			cout << que.size() << "\n";
		}
		else if(st[0] =='e') { //empty
			if (que.empty()) cout << "1" << "\n";
			else cout << "0" << "\n";
		}	
	}
}

profile
Unreal 5, Unity 공부

0개의 댓글