상세 컨텐츠

본문 제목

C++ 백준 10845번

Study/C++

by Ha학생 2023. 9. 14. 15:33

본문

안녕하세요. 하학생입니다.

오늘은 백준 10845번  큐에 대해서 공부를 진행해 봤습니다.

잘 부탁드려요!!


큐는 데이커 구조중 하나로 데이터를 저장하고 접근하는 방법을 제공합니다. 

큐는 선입선출(FIFO, First-In-First-Out) 원칙을 따릅니다.

즉 가장 먼저 추가된 요소가 가장 먼저 제거되는 구조를 가지고 있습니다. 

큐 구조도

문제

큐를 구성하라 라는 문제입니다. 

명령은 전부 c++ 표준 라이브러리에서 포함되어 있습니다.

 

전체코드

#include <iostream>
#include <queue>
#include <string>

int main(void)
{
	std::queue<int> que;
	int N;
	std::string order;

	std::cin >> N;

	for (int i = 0; i < N; i++)
	{
		std::cin >> order;

		if(order == "push")
		{
			int val;
			std::cin >> val;
			que.push(val);
		}
		else if(order == "pop")
		{	
			if (que.empty()) 
			{
				std::cout << "-1\n";
			}
			else {
				int a = que.front();
				que.pop();
				std::cout << a << "\n";
			}
		}
		else if (order == "size") {
		
			std::cout << que.size() << "\n";

		}
		else if(order == "empty") {
			std::cout << que.empty() << "\n";
		}
		else if (order == "front") {
			if (que.empty())
			{
				std::cout << "-1\n";
			}
			else {
				std::cout << que.front() << "\n";

			}
		}
		else if (order == "back") {
			if (que.empty())
			{
				std::cout << "-1\n";
			}
			else {
				std::cout << que.back() << "\n";
			}
		}

	}

	return 0;
}

관련글 더보기

댓글 영역