문제(출처: https://www.acmicpc.net/problem/15828)
< Router >
문제 풀이
Queue를 사용해서 문제를 해결했다.
my solution (Java)
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.LinkedList;
import java.util.Queue;
public class _15828_ { // Router
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n = Integer.parseInt(bf.readLine());
Queue<Integer> queue = new LinkedList<>();
int num = -1;
while ((num = Integer.parseInt(bf.readLine())) != -1) {
if (num == 0) {
queue.poll();
} else {
if (queue.size() < n) {
queue.add(num);
}
}
}
if (queue.isEmpty()) {
bw.write("empty");
} else {
while (!queue.isEmpty()) {
bw.write(queue.poll() + " ");
}
}
bw.flush();
}
}
Main
변수)
n : 버퍼의 크기
queue : Queue <Integer>
num : 패킷의 번호
- 버퍼의 크기(n) 입력
- -1이 아닌 정수가 입력으로 들어오면
: 0이라면 패킷 하나 처리한 것이므로 queue에서 poll
: 0이 아니라면 queue의 사이즈를 확인 후 버퍼의 크기보다 작다면 queue에 추가
- 출력
: queue가 비어있다면 empty 출력
: queue가 비어있지 않다면 queue 값 출력
'🌞Algorithm > 🔥Baekjoon' 카테고리의 다른 글
[Baekjoon] 5464_주차장 (0) | 2023.08.08 |
---|---|
[Baekjoon] 11559_Puyo Puyo (0) | 2023.08.07 |
[Baekjoon] 2161_카드1 (0) | 2023.08.07 |
[Baekjoon] 2146_다리 만들기 (0) | 2023.08.03 |
[Baekjoon] 25516_거리가 k이하인 트리 노드에서 사과 수확하기 (0) | 2023.08.02 |