SMALL
https://www.acmicpc.net/problem/15828
15828번: Router
인터넷을 사용하기 위해서는 컴퓨터에 인터넷 회선을 연결하거나 Wi-Fi를 연결해야 한다. 이렇게 연결된 네트워크를 통해 컴퓨터에는 통신이 가능하다. 마음에 드는 노래나 동영상이 있는 곳에
www.acmicpc.net
- 문제
- 문제풀이
문제이해가 조금 걸렸다. 큐의 크기를 N으로 제한하고 정보(상수)가 들어온다면 라우터에 넣어주고 0이면 라우터가 정보를 처리하여 큐에서 빼주는 것이다.
큐를 생성하고 -1을 받는다면 break를 해주고 0보다 크다면 큐에 넣고 0과 같으면 큐에서 빼준다. C#의 경우 시간초과가 나타날 수 있기 때문에 반드시 StringBuilder을 사용하여 출력을 해야한다. 사용하지 않으면 시간초과로 50점이 나오게 된다.
- 코드 1
using System.Text;
namespace Yongyong2
{
internal class Program
{
static void Main(string[] args)
{
StringBuilder sb = new StringBuilder();
double N = int.Parse(Console.ReadLine());
int num = 0;
Queue<int> queue = new Queue<int>();
while (true)
{
num = int.Parse(Console.ReadLine());
if (num == -1)
{
break;
}
if (num > 0)
{
if (queue.Count() < N)
{
queue.Enqueue(num);
}
}
if (num == 0)
{
queue.Dequeue();
}
}
if (queue.Count() == 0)
{
sb.Append("empty");
}
else
{
while (queue.Any())
{
sb.Append(queue.Peek() + " ");
queue.Dequeue();
}
}
Console.WriteLine(sb.ToString());
}
}
}
- 후기
문제 이해가 코드쓰는 것 보다 더 오래걸렸다.
LIST
'백준 > C#' 카테고리의 다른 글
[C#]백준 23253번: 자료구조는 정말 최고야 (0) | 2023.01.28 |
---|---|
[C#]백준 17413번: 단어 뒤집기 2 (0) | 2023.01.28 |
[C#]백준 1966번: 프린터 큐 (0) | 2023.01.28 |
[C#]백준 11866번: 요세푸스 문제 0 (0) | 2023.01.28 |
[C#]백준 2164번: 카드2 (0) | 2023.01.28 |