Bランクレベルアップメニュー】> 【文字と整数の組のソート2】STEP: 2 重複の判定 (paizaランク D 相当) [難易度: 1245 ±7]

※リンク先へ移動するためには[paiza]へのログインが必要です。

問題文

指定された配列(リスト)の定義の中で、同じ値が存在した場合はtrueを、そうでない場合はfalseを出力してください。

HND, NRT, KIX, NGO, NGO
を要素に持つ配列(リスト)をプログラムで定義し、使用すること。

入力値(例)
なし

出力値(例)
配列(リスト)の要素に重複があればtrueを、重複がなかったらfalseを出力する。
最後は改行し、余計な文字、空行を含んではいけません。

解答例

解説

配列の値の重複をチェックする方法ですが、値の出現回数を数えるarray_count_valuse()関数を使うのが一番簡単だと思いました。

array_count_values( ) 関数は値をキーにして出現回数を値にした配列を作ります。作成された配列に2以上の値があれば重複していることになります。

この問題の場合は、

とすることで、$countという配列の中身は、

Array
(
[HND] => 1
[NRT] => 1
[KIX] => 1
[NGO] => 2
)

となります。

なので、$countのmaxが1以上の場合は重複していると考えてtrueを出力します。

おすすめの記事
スポンサーリンク