このページについて

このページは、paiza ラーニング内に開設されているコンテンツ「レベルアップ問題集」で取り扱われているプログラミング課題について、独自の見解を述べたものです。

見解については、paizaラーニングの規約に基づき、許可されている範囲でのみ公開していますが、その内容については paiza とは一切関係なく、また paiza の立場を反映したものではありませんのでご注意ください。

挑戦する課題

レベルアップ問題集データセット選択メニューから「商品の検索 (paizaランク C 相当)」を取り上げます。

以下は、問題公開 Web ページからの引用です。

問題

paiza 商店には N 個の商品が売られており、 i  番目の商品の名前は A_i で価格は B_i です。あなたはほしい M 個の商品名のリスト S を持っています。それぞれpaiza商店ではいくらで売られているか答えてください。売られていない場合は -1 を出力してください。

入力される値

  • 入力値最終行の末尾に改行が1つ入ります。
  • 文字列は標準入力から渡されます。

期待する出力商品

S_i の値段 T_i を答えてください。paiza商店に商品 S_i が売られていない場合は - 1 を出力してください。

入力例1

出力例1

考え方

この問題も直前の問題と同じく、辞書(Dictionary)を活用して解く問題となります。

文字列の出現率 (paizaランク C 相当)

はじめに、指定された N 行で入力されるアイテムリストから、商品名とその価格を辞書を作って作成します。

その後、続く M 行で入力されるアイテムリストに従い、そのアイテムの価格を表示させます。もし該当する商品がなければ、 -1 を出力します。
ソートしなくて良い分、むしろ「文字列の出現率」よりも簡単に解けるかもしれません。

解答例