백준 10845 c

magicdrill·2024년 3월 28일
0

백준 문제풀이

목록 보기
223/654

백준 10845 c

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#pragma warning(disable:4996)

int queue[10000];
int queue_count = 0;

void push(int n)
{
	queue[queue_count] = n;
	queue_count++;

	return;
}

void pop()
{
	int i, temp;

	if (queue_count == 0)
	{
		printf("-1\n");
	}
	else
	{
		printf("%d\n", queue[0]);
		for (i = 0; i < queue_count; i++)
		{
			queue[i] = queue[i + 1];
		}
		queue_count--;
	}
	
	return;
}

void size()
{
	printf("%d\n", queue_count);

	return;
}

void empty()
{
	if (queue_count == 0)
	{
		printf("1\n");
	}
	else
	{
		printf("0\n");
	}

	return;
}

void front()
{
	if (queue_count == 0)
	{
		printf("-1\n");
	}
	else
	{
		printf("%d\n", queue[0]);
	}

	return;
}

void back()
{
	if (queue_count == 0)
	{
		printf("-1\n");
	}
	else
	{
		printf("%d\n", queue[queue_count-1]);
	}

	return;
}

int main(void)
{
	int N, X, i;
	char inst[10];

	scanf("%d", &N);
	for (i = 0; i < N; i++)
	{
		scanf("%s", inst);
		if (strcmp(inst, "push") == 0)
		{
			scanf("%d", &X);
			push(X);
		}
		else if (strcmp(inst, "pop") == 0)
		{
			pop();
		}
		else if (strcmp(inst, "size") == 0)
		{
			size();
		}
		else if (strcmp(inst, "empty") == 0)
		{
			empty();
		}
		else if (strcmp(inst, "front") == 0)
		{
			front();
		}
		else if (strcmp(inst, "back") == 0)
		{
			back();
		}
		else
		{
			i--;
		}
		//printf("queue_count : %d\n", queue_count);
	}

	return 0;
}

0개의 댓글