반응형
출처: https://www.acmicpc.net/problem/18258
Approach
[큐] Queue를 구현하는 문제이다.
자료구조를 구현하는 것에서는 [BOJ] 10845 큐 문제와 비슷하다.
해당 문제는 명령어의 최대 개수가 200만개이기 때문에 (1 ≤ N ≤ 2,000,000)
단순 구현에 그치지 않고 시간 성능을 고려해야 한다.
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 |
댓글