何を買うべきか
CoddyのRubyジャーニー「基礎」セクションの一部 — レッスン 88/88。
チャレンジ
簡単入力からショッピングリストと店舗の在庫を読み取り、どのアイテムが購入可能かを判定してください。
以下の内容が入力されます:
- 1行目:ショッピングリストを表すカンマ区切りのアイテム名
- 2行目:店舗在庫にあるアイテムの数
- 続く行:各行にアイテム名と数量がカンマで区切られて含まれます
例えば、在庫の入力 apples,5 は、店舗に5個の apples の在庫があることを意味します。
ショッピングリストの各アイテムについて、購入可能な場合はアイテム名の後に - Yes を、購入できない場合は - No を付けて出力してください。
アイテムが購入可能である条件は以下の通りです:
- 店舗の在庫に存在し、かつ
- その数量が0より大きいこと
アイテムが在庫に全く存在しないか、数量が0の場合は、No と出力してください。
例えば、入力が以下の場合:
apples,bread,milk
3
apples,5
bread,0
milk,3出力は以下のようになります:
apples - Yes
bread - No
milk - Yes入力が以下の場合:
eggs,butter,cheese,yogurt
2
eggs,12
cheese,0出力は以下のようになります:
eggs - Yes
butter - No
cheese - No
yogurt - No入力が以下の場合:
water
1
water,100出力は以下のようになります:
water - Yes自分で試してみよう
# 買い物リストを読み込む(カンマ区切りのアイテム)
shopping_list = gets.chomp.split(',')
# 在庫アイテムの数を読み込む
n = gets.to_i
# 店舗の在庫を読み込む
inventory = {}
n.times do
line = gets.chomp.split(',')
item_name = line[0]
quantity = line[1].to_i
inventory[item_name] = quantity
end
# TODO: 以下にコードを記述してください
# 買い物リストの各アイテムについて、購入可能かどうかを確認します
# アイテムが在庫に存在し、かつ数量が0より大きい場合に購入可能です
# 各アイテムについて "item_name - Yes" または "item_name - No" を出力してください