【スキルチェック過去問題セット】> 検索履歴 (paizaランク C 相当) [難易度: 1458 ±7]
※リンク先へ移動するためには[paiza]へのログインが必要です。
あなたが利用しているブラウザでは検索ワードの履歴を見ることができません。あなたは検索ワードの履歴を見られないのは不便だと思ったので、検索ワードの履歴を見る機能を自分でつくることにしました。
検索ワードの履歴とは次のようにつくられます。
検索ワード W が以前に入力されたことがある場合:
履歴中の W を削除する。
履歴の先頭に W を追加する。
検索ワード W が以前に入力されたことがない場合:
履歴の先頭に W を追加する。
検索ワード W が N 個与えられるので、N 個の検索ワードが与えられた後の履歴を表示するプログラムを書いてください。
入力値(例)
5
book
candy
apple
book
candy
出力値(例)
candy
book
apple
解答例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<?php $n = trim(fgets(STDIN)); $history = array(); for ($i = 0; $i < $n; $i++) { $w = trim(fgets(STDIN)); if (in_array($w, $history)) { $val = array_search($w, $history); unset($history[$val]); array_unshift($history, $w); } else { array_unshift($history, $w); } } foreach ($history as $value) { echo $value. "\n"; } ?> |