クローン兵を見つける

PythonBeginner
オンラインで実践に進む

はじめに

このチャレンジでは、クローン軍のパレード隊形にいるすべてのクローン兵を見つけることが課題となります。クローン兵は特定の範囲内の番号によって一意に識別され、正方行列で表すことができます。私たちの目標は、各 ID のクローンの数を数え、辞書形式で統計結果を返すことです。解決策は、count_clone_soldier.pyファイルのcount_clone_soldier(matrix: List[List[str]])メソッドで実装する必要があります。

クローン兵士を探す (クローン兵士検出)

チャレンジの説明

遠い銀河には、強力なクローン軍を擁する銀河帝国が存在します。このチャレンジは、銀河帝国のクローン軍のパレード隊形から、すべてのクローン兵士を見つけ出すことです。

チャレンジの詳細

銀河帝国の各クローン兵士は、10000000から1000ffffまでの番号で一意に識別されます。クローンとそのオリジナルは同じ ID を共有します。

クローン軍のパレード隊形は、正方行列で表現できます。例:

[['10000000', '10000012', '1000000d', '1000000d', '10000002'],
['10000004', '10000011', '10000017', '1000000b', '1000000f'],
['10000016', '1000000d', '10000018', '10000012', '10000011'],
['10000001', '1000000c', '10000008', '10000013', '10000000'],
['10000019', '10000000', '1000000e', '10000003', '10000004']]

このチャレンジは、行列からすべてのクローン兵士を見つけ出し、各 ID の実際のクローンの数をカウントすることです。クローンとそのオリジナルは同じ ID を共有するため、行列にN回出現する ID は、1 つのオリジナルとN-1のクローンで構成されます。したがって、ID のクローン数は、その総出現回数から 1 を引いたものです。最後に、統計結果を辞書形式{ 'ID': clone_count }で返します。辞書内のキーは、ID に基づいて昇順に並べ替える必要があります。たとえば、上記の行列の場合、クローン兵士の統計結果は次のようになります。

{
'10000000': 2,
'10000004': 1,
'1000000d': 2,
'10000011': 1,
'10000012': 1,
}

この結果は、ID 10000000(行列に 3 回出現)の場合、2 人のクローン兵士(合計 3 人 - オリジナル 1 人)が存在することを示しています。同様に、ID 10000004(2 回出現)の場合、1 人のクローン兵士(合計 2 人 - オリジナル 1 人)が存在します。1 回しか出現しない ID(例:10000002)にはクローンは存在しないため、最終的な辞書に含めるべきではありません。

チャレンジの要件

  1. count_clone_soldier.pyファイルが~/projectディレクトリに存在することを確認してください。
  2. count_clone_soldier.pyファイルのcount_clone_soldier(matrix: List[List[str]])メソッドでチャレンジを実装してください。
  3. 指定されたファイル名、クラス名、メソッド定義、およびメソッド名を変更しないでください。
  4. クラスの継承関係、およびファイルパスを変更しないでください。
  5. コードは指定された領域、つまりcount_clone_soldier.pyファイルにのみ記述できます。

まとめ

おめでとうございます!あなたは「クローン兵を見つける」チャレンジを完了しました。あなたのスキルを向上させるために、LabEx でさらに多くの実験を行って練習してください。

✨ 解答を確認して練習