戦セット】> 【競技8】お一人様一点限り (paizaランク C 相当) [難易度: 1471 ±10]

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

問題文

あるスーパーでは、お一人様一点限りでセール価格の商品を販売することにしました。

そこで、一人のお客さんが2回以上その商品を買えないように、お客さんの名前をチェックすることにしました。

お客さんの名前が来た順番で入力されるので、そのお客さんが初めて来たのかどうかを判定し、結果を出力してください。

入力値(例)
3
James
Mary
John

出力値(例)
YES
YES
YES

解答例

解説

1)1行目の数値を受け取ります。($n)

2)空の配列を用意します。($guest=[])

3)for()で$n回分の行数を受け取ります。受け取るときに、in_array()で$guestの配列に値が含まれているかを判定します。in_arrayは、第1引数が探したい値で、第2引数が配列となります。
(in_array($tmp, $guest))

4)配列に含まれていれば、"NO"を出力し、含まれていなければ、"YES"を出力します。また、含まれていない場合は、配列の$guestに値を追加します。($guest[] = $tmp)

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