[C++] 백준 10845: 큐

Cyan·2024년 1월 27일
0

코딩 테스트

목록 보기
40/166

백준 10845: 큐

문제 요약

정수를 저장하는 큐를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오.

문제 분류

  • 자료 구조

문제 풀이

큐를 구현하는 문제이다.

큐의 pop, front, back 연산시 비어있는지 if문으로 체크하는 것에 유의하면 된다.

C++의 STL을 이용하여 구현하면 쉽다.

풀이 코드

#include <stdio.h>
#include <iostream>
#include <algorithm>
#include <queue>

using namespace std;

int main()
{
	int n, in2;
	string in1;
	queue<int> q;

	cin >> n;

	while (n--) {
		cin >> in1;
		if (in1 == "push") {
			cin >> in2;
			q.push(in2);
		}
		else if (in1 == "pop") {
			if (q.empty()) cout << -1 << '\n';
			else {
				cout << q.front() << '\n';
				q.pop();
			}
		}
		else if (in1 == "size")
			cout << q.size() << '\n';
		else if (in1 == "empty")
			cout << q.empty() << '\n';
		else if (in1 == "front") {
			if (q.empty()) cout << -1 << '\n';
			else cout << q.front() << '\n';
		}
		else if (in1 == "back") {
			if (q.empty()) cout << -1 << '\n';
			else cout << q.back() << '\n';
		}
	}
	return 0;
}

0개의 댓글