020-005-002

コレクション総合:成績管理システム

上級

問題説明

コレクションの組み合わせ

この問題では: MapTreeSetを組み合わせて名前とスコアのデータを管理し、Stream APIで集計処理を行い、結果を標準出力に表示するプログラムを作成します。

データ構造の選択

// 名前とスコアの対応にMap
Map<String, Integer> scores = new HashMap<>();
// 最高点者の候補にTreeSet(自動ソート)
TreeSet<String> topScorers = new TreeSet<>();

学習ポイント

  • Map: キーと値の対応関係を保持
  • TreeSet: 要素を自動的にソートして保持
  • Stream API: 集計処理を簡潔に記述可能
  • 適切なデータ構造の選択が効率的なコードにつながる

テストケース例

※ 出力例はプログラミングの国際標準に準拠し英語で表示しています

入力:
4
Alice 85
Bob 92
Charlie 78
Diana 92
期待される出力:
Average: 86
Top: Bob
Above average: 2
入力:
3
Eve 100
Frank 100
Grace 100
期待される出力:
Average: 100
Top: Eve
Above average: 0
入力:
5
Henry 60
Iris 70
Jack 80
Kate 90
Leo 50
期待される出力:
Average: 70
Top: Kate
Above average: 2
入力:
2
Alex 50
Beth 80
期待される出力:
Average: 65
Top: Beth
Above average: 1
❌ テストに失敗したケースがあります
❌ エラー発生

あなたの解答

現在のモード: 自分のコード
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 回実行可能