https://www.acmicpc.net/problem/10845
큐로 분류된 10845 큐 문제 입니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _10845
{
class Program
{
static void Main(string[] args)
{
int count = int.Parse(Console.ReadLine());
Queue<int> queue = new Queue<int>();
StringBuilder stringBuilder = new StringBuilder("");
for(int i = 0; i < count; i++)
{
string[] input = Console.ReadLine().Split(' ');
switch (input[0])
{
case "push":
queue.Enqueue(int.Parse(input[1]));
break;
case "pop":
stringBuilder.Append((queue.Count == 0) ? "-1\n" : queue.Dequeue().ToString() + "\n");
break;
case "front":
stringBuilder.Append((queue.Count == 0) ? "-1\n" : queue.Peek().ToString() + "\n");
break;
case "back":
stringBuilder.Append((queue.Count == 0) ? "-1\n" : queue.Last().ToString() + "\n");
break;
case "size":
stringBuilder.Append(queue.Count.ToString() + "\n");
break;
case "empty":
stringBuilder.Append((queue.Count == 0) ? "1\n" : "0\n");
break;
default:
break;
}
}
Console.WriteLine(stringBuilder);
}
}
}
|
cs |
큐는 스택과 다르게 Enque, Deque를 사용한다는 점 이것만 다르죠.
입력 받는 스트링에 따라 스위치 문으로 구분하고 실행하면 되겠습니다.
처음 할때 입력 받을때마다 출력하게 했더니 시간초과 나더라구요,,?
그래서 스트링 빌더 하나 두고 입력 하나에 출력이 아닌 스트링에 쌓아둬서
입력이 모두 끝났을때 출력하게 했습니다.
백준# 4963 - 섬의 갯수 (0) | 2020.07.28 |
---|---|
백준# 1967 - 트리의 지름 (0) | 2020.07.28 |
백준 #2504 - 괄호의 값 (0) | 2020.06.13 |
백준 #1343 - 폴리오미노 (0) | 2020.05.30 |
백준# 2870 - 수학숙제 (0) | 2020.05.22 |