Menu
Coddy logo textTech

何を買うべきか

CoddyのRubyジャーニー「基礎」セクションの一部 — レッスン 88/88。

challenge icon

チャレンジ

簡単

入力からショッピングリストと店舗の在庫を読み取り、どのアイテムが購入可能かを判定してください。

以下の内容が入力されます:

  1. 1行目:ショッピングリストを表すカンマ区切りのアイテム名
  2. 2行目:店舗在庫にあるアイテムの数
  3. 続く行:各行にアイテム名と数量がカンマで区切られて含まれます

例えば、在庫の入力 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" を出力してください

基礎のすべてのレッスン