https://www.acmicpc.net/problem/15828
#include <cstdio>
#include <queue>
using namespace std;
// 라우터
int main()
{
queue<int> q;
int n;
scanf("%d", &n);
int packet = 0;
int packet_size = 0;
while (packet != -1)
{
scanf("%d", &packet);
if (packet == 0)
{
q.pop();
packet_size = q.size();
}
else if (packet == -1)
{
break;
}
else
{
if (q.size() < n)
{
q.push(packet);
packet_size += 1;
}
}
}
if (packet_size == 0)
{
printf("empty");
return;
}
for (int i = 0; i < packet_size; ++i)
{
printf("%d\n", q.front());
q.pop();
}
}
..원래 C++로 풀었는데 똑같은 코드임에도 C++로 제출할 때는 시간초과가 뜨는데 C로 제출하니 100점이라고 떴다.
이전에 개행이나 print같은 부분에서 C가 훨씬 빨라서 C++과 제출 시간의 차이가 있었는데 얘도 마찬가지여서 그랬나.
테스트 케이스가 너무 궁금하다.
'알고리즘 & 자료구조 > 백준' 카테고리의 다른 글
[C++/알고리즘] 백준 2742 (기찍N) (0) | 2021.04.12 |
---|---|
[C++/알고리즘] 백준 11047 (동전0) (0) | 2021.04.11 |
[C++/알고리즘] 백준 1302 (베스트셀러) (0) | 2021.04.09 |
[C++/알고리즘] 백준 1475 (방번호) (0) | 2021.04.08 |
[C++/알고리즘] 백준 13904 (과제) (0) | 2020.10.18 |