白駿15828ルータ
https://www.acmicpc.net/problem/15828
入力ルータの順にバッファに追加・削除することで、キューデータ構造を使用するべきだと思います.バッファにスペースがない場合は、入力は無視されます.これは、キューがいっぱいになったときに追加されないのと同じです.入力値0はパケット処理、−1は終了条件、その他の正の値はパケット処理を示す.入力NはQのサイズです. 入力-1で終了->(while sc.nextInt() != -1) 入力値が0の場合、キューから削除/else入力値が正の値で、現在のキューのサイズが入力Nより小さい場合、キューに追加されるサイクルが完了すると、キューが空の場合、出力が空/そうでない場合、出力キューの値は となる.
終了条件ですが、入力する値の変数checkとは思いませんでした 現在のキューがいっぱいで、入力できない部分 を実現できません.スキャナー入力時、1616 ms/BufferedReader入力時、1076 ms 入力
トラブルシューティング
入力ルータの順にバッファに追加・削除することで、キューデータ構造を使用するべきだと思います.バッファにスペースがない場合は、入力は無視されます.これは、キューがいっぱいになったときに追加されないのと同じです.入力値0はパケット処理、−1は終了条件、その他の正の値はパケット処理を示す.
ソースコード
import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;
public class b15828 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine()); // queue size
Queue<Integer> q = new LinkedList<>();
int check = 0; // 종료조건
while (check != -1) {
check = Integer.parseInt(br.readLine());
if (check == 0) {
q.poll();
} else if (check > 0 && q.size() < n) {
q.offer(check);
}
}
if (q.isEmpty()) {
System.out.println("empty");
} else {
while (!q.isEmpty()) {
System.out.print(q.poll() + " ");
}
}
}
}
足りないところ
Reference
この問題について(白駿15828ルータ), 我々は、より多くの情報をここで見つけました https://velog.io/@im_lily/백준-15828-Routerテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol