020-004-005
キュー管理:順番待ちシステム
初級
問題説明
キュー管理:順番待ちシステム
この問題では: Queue<String>を使って顧客の順番待ちリストをFIFO(先入れ先出し)順で管理し、待機中の顧客一覧と案内順序を標準出力に表示するプログラムを作成します。
Learning Objectives
応用レベルの学習目標
Queueを用いたFIFO(先入れ先出し)データ管理を実務レベルで実装できる。
Practical Goals (4 items)
- Queueの宣言と初期化ができる【Apply】
- offer()とpoll()でキュー操作ができる【Apply】
- キューの状態に応じた処理分岐を実装できる【Apply】
- LinkedList vs ArrayDequeの選択理由を説明できる【Analyze】
Real-World Scenario
Scenario Type: Both
Business Context
人気ラーメン店の順番待ちシステムを想像してください。お客様は到着順にリストに追加され、席が空くと先頭のお客様から案内されます。公平性が重要で、割り込みは許されません。
System Context
メッセージキューやタスクキューも同じ原理です。Webサーバーが受け取ったリクエストをキューに追加し、ワーカースレッドが順に処理します。これによりピーク時の負荷を平準化できます。
Why This Matters
- 公平な順序処理の基盤パターン
- メッセージキュー、タスクキューの基礎
- イベント駆動アーキテクチャの要素
入力
1行目: お客様の人数(整数、1-10人)
2~N+1行目: お客様の名前(文字列)
出力
Waiting Queue:
1. [名前1]
2. [名前2]
...
Serving Order:
[名前1]
[名前2]
...
テストケース例
※ 出力例はプログラミングの国際標準に準拠し英語で表示しています
入力:
3 Alice Bob Charlie
期待される出力:
Waiting Queue: 1. Alice 2. Bob 3. Charlie Serving Order: Alice Bob Charlie
入力:
1 Ivy
期待される出力:
Waiting Queue: 1. Ivy Serving Order: Ivy
入力:
5 David Emily Frank Grace Henry
期待される出力:
Waiting Queue: 1. David 2. Emily 3. Frank 4. Grace 5. Henry Serving Order: David Emily Frank Grace Henry
入力:
2 Alice Bob
期待される出力:
Waiting Queue: 1. Alice 2. Bob Serving Order: Alice Bob
❌ テストに失敗したケースがあります
あなたの解答
現在のモード:● 自分のコード
99
1
2
3
4
5
6
7
8
9
10
›
⌄
⌄
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// ここにコードを書いてください
sc.close();
}
}
0 B / 5 MB
残り 9 回実行可能
