https://www.acmicpc.net/problem/15828

 

15828번: Router

인터넷을 사용하기 위해서는 컴퓨터에 인터넷 회선을 연결하거나 Wi-Fi를 연결해야 한다. 이렇게 연결된 네트워크를 통해 컴퓨터에는 통신이 가능하다. 마음에 드는 노래나 동영상이 있는 곳에

www.acmicpc.net

 

#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++과 제출 시간의 차이가 있었는데 얘도 마찬가지여서 그랬나. 

테스트 케이스가 너무 궁금하다. 

 

+ Recent posts