문제 : boj15828
FIFO(first-in first-out)로 처리하면 되므로 우선 큐를 만든다. 그리고 큐에 데이터가 n개이상 존재한다면 무시하고, n개 이하라면 큐에 넣으면 된다. 그리고 0이 입력으로 들어오면 큐에서 빼주면 된다. 최종적으로 큐에 들어있는 순서대로 빼면서 출력해주면 답이 된다.
코드 : github
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayDeque;
import java.util.Queue;
public class Main {
private void solution() throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
Queue<Integer> q = new ArrayDeque<>();
while (true) {
int cur = Integer.parseInt(br.readLine());
if (cur == -1) break;
if (cur == 0) q.poll();
else if (q.size() < n) q.add(cur);
}
if (q.size() == 0) {
System.out.println("empty");
return;
}
StringBuilder sb = new StringBuilder();
while (!q.isEmpty()) {
sb.append(q.poll()).append(' ');
}
System.out.println(sb);
}
public static void main(String[] args) throws Exception {
new Main().solution();
}
}
'PS > BOJ' 카테고리의 다른 글
[자바] 백준 10469 - 사이 나쁜 여왕들 (boj java) (0) | 2022.04.27 |
---|---|
[자바] 백준 11170 - 0의 개수 (boj java) (0) | 2022.04.26 |
[자바] 백준 14721 - 성적표 (0) | 2022.04.24 |
[자바] 백준 10979 - 가넷이나 버는게 낫지 않아요? (0) | 2022.04.23 |
[자바] 백준 1854 - K번째 최단경로 찾기 (0) | 2022.04.23 |
댓글