백준 10866 c++

magicdrill·2024년 3월 28일
0

백준 문제풀이

목록 보기
224/655

백준 10866 c++

#include <iostream>
#include <string>

using namespace std;

int deque[10000];
int deque_count = 0;

void push_front(int X)
{
	int i, temp;

	for (i = deque_count; i > 0; i--)
	{
		temp = deque[i - 1];
		deque[i] = temp;
	}
	deque[0] = X;
	deque_count++;

	return;
}

void push_back(int X)
{
	deque[deque_count] = X;
	deque_count++;

	return;
}

void pop_front()
{
	int i, temp;

	if (deque_count == 0)
	{
		cout << "-1\n";
	}
	else
	{
		cout << deque[0] << "\n";
		for (i = 1; i < deque_count; i++)
		{
			temp = deque[i];
			deque[i - 1] = temp;
		}
		deque_count--;
	}

	return;
}

void pop_back()
{
	if (deque_count == 0)
	{
		cout << "-1\n";
	}
	else
	{
		cout << deque[deque_count-1] << "\n";
		deque[deque_count - 1] = 0;
		deque_count--;
	}

	return;
}

void size()
{
	cout << deque_count << "\n";

	return;
}

void empty()
{
	if (deque_count == 0)
	{
		cout << "1\n";
	}
	else
	{
		cout << "0\n";
	}
}

void front()
{
	if (deque_count == 0)
	{
		cout << "-1\n";
	}
	else
	{
		cout << deque[0] << "\n";
	}

	return;
}

void back()
{
	if (deque_count == 0)
	{
		cout << "-1\n";
	}
	else
	{
		cout << deque[deque_count-1] << "\n";
	}

	return;
}

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

	int N, i, X;
	string option;

	cin >> N;
	for (i = 0; i < N; i++)
	{
		cin >> option;
		if (option == "push_front")
		{
			cin >> X;
			push_front(X);
		}
		else if (option == "push_back")
		{
			cin >> X;
			push_back(X);
		}
		else if (option == "pop_front")
		{
			pop_front();
		}
		else if (option == "pop_back")
		{
			pop_back();
		}
		else if (option == "size")
		{
			size();
		}
		else if (option == "empty")
		{
			empty();
		}
		else if (option == "front")
		{
			front();
		}
		else if (option == "back")
		{
			back();
		}
		else
		{
			i--;
		}
	}

	return 0;
}

0개의 댓글