본문 바로가기
PS 문제 풀이/Baekjoon

[BOJ] 백준 18258 큐 2

by 까망 하르방 2021. 7. 22.
반응형

출처https://www.acmicpc.net/problem/18258

Approach

[큐] Queue를 구현하는 문제이다.

 

[큐] Queue란?

Queue란? 선입선출(First In First Out, FIFO)의 자료 구조 ▶ 큐(Queue)는 한쪽에서 삽입(Push, Enqueue) 하며, 다른 한쪽에서 빠져나오는(Pop, Dequeue) 구조 두 지점을 와 로 표현한다. (Front, Rear) ▶ C++..

zoosso.tistory.com

 

자료구조를 구현하는 것에서는 [BOJ] 10845 큐 문제와 비슷하다.

 

[BOJ] 백준 10845 큐

출처: https://www.acmicpc.net/problem/10845 Approach Queue를 구현하는 문제이다. [큐] Queue란? Queue란? 선입선출(First In First Out, FIFO)의 자료 구조 ▶ 큐(Queue)는 한쪽에서 삽입(Push, Enqueue) 하..

zoosso.tistory.com

 

해당 문제는 명령어의 최대 개수가 200만개이기 때문에 (1 ≤ N ≤ 2,000,000)

단순 구현에 그치지 않고 시간 성능을 고려해야 한다.

▶ [C++] [STL] Queue

 

[C++] [STL] Queue

Queue 기본 연산 - FIFO 구조 (First In First Out) - push(element) : 큐 (뒤에) 원소 추가 - pop() : 큐에 (앞쪽에) 있는 원소 삭제 - front() : 큐 제일 앞에 있는 원소 반환 - back() : 큐 제일 뒤에 있는..

zoosso.tistory.com

 

C Style 코드라면 시간제한에 걸리지 않지만

C++에서 iostream 중 개행문자 endl 사용하는 경우에는 입출력 구문들은 속도가 느리기 때문에 TLE 발생한다.

endle 대신에 \n 을 사용해야 합니다.

 #define endl '\n' 사용하면 된다.


#include <stdio.h>
#include <cstring>
#include <queue>

using namespace std;
char cmd[10];
int main()
{
	// freopen("input.txt", "r", stdin);
	int n; scanf("%d", &n);
	int val;
	queue<int> que;
	for (int i = 0; i < n; i++)
	{
		scanf("%s", cmd);
		if (!strcmp(cmd, "push"))
		{
			scanf("%d", &val);
			que.push(val);
		}
		else if (!strcmp(cmd, "pop"))
		{
			if (que.size() == 0)
			{
				printf("-1\n");
			}
			else 
			{
				printf("%d\n", que.front());
				que.pop();
			}
		}
		else if (!strcmp(cmd, "front"))
		{
			if (que.size() == 0)
			{
				printf("-1\n");
			}
			else
			{
				printf("%d\n", que.front());
			}
		}
		else if (!strcmp(cmd, "back"))
		{
			if (que.size() == 0)
			{
				printf("-1\n");
			}
			else
			{
				printf("%d\n", que.back());
			}
		}
		else if (!strcmp(cmd, "size"))
		{
			printf("%d\n", que.size());
		}
		else if (!strcmp(cmd, "empty"))
		{
			printf("%d\n", que.empty());
		}
	}
}
반응형

'PS 문제 풀이 > Baekjoon' 카테고리의 다른 글

[BOJ] 백준 3085 사탕 게임  (0) 2021.07.24
[BOJ] 백준 10448 유레카 이론  (0) 2021.07.23
[BOJ] 백준 10845 큐  (0) 2021.07.22
[BOJ] 백준 10828 스택  (0) 2021.07.22
[BOJ] 백준 2869 달팽이는 올라가고 싶다.  (0) 2021.07.21

댓글