020-005-007

ゲームリーダーボード管理システム

上級

問題説明

この問題では: プレイヤー名とスコアを読み込み、Comparableインターフェースを実装したPlayerクラスで管理し、スコアの降順にソートしたランキングを標準出力に表示するプログラムを作成します。

入力形式

最初の行にプレイヤー数 n が与えられます。
次の n 行にそれぞれプレイヤー名とスコア(スペース区切り)が与えられます。

出力形式

スコアの降順(高い順)でランキングを表示してください。
各行は「順位. プレイヤー名: スコア」の形式で出力します。
同点の場合は入力順を維持します。

制約

  • 1 ≤ n ≤ 100
  • スコアは0以上10000以下の整数
  • プレイヤー名は20文字以内の英数字

重要ポイント

  • Playerクラスを作成し、フィールドに名前とスコアを持たせてComparable<Player>を実装します
  • compareTo()メソッドでスコアの降順(other.score - this.score)を返すようにします
  • Collections.sort()Playerのリストを渡すとソートされます
  • 出力はSystem.out.printf("%d. %s: %d%n", rank, player.name, player.score)の形式で行います

コードを実行してみませんか?

この問題のコードエディタと実行機能を使用するには、ログインしてください。

アカウントをお持ちでない方