Menu
Coddy logo textTech

Qué comprar

Parte de la sección Fundamentos del Journey de Ruby de Coddy — lección 88 de 88.

challenge icon

Desafío

Fácil

Lee una lista de compras y el inventario de la tienda desde la entrada, luego determina qué artículos se pueden comprar.

Recibirás:

  1. Primera línea: nombres de artículos separados por comas que representan tu lista de compras
  2. Segunda línea: el número de artículos en el inventario de la tienda
  3. Líneas siguientes: cada una contiene un nombre de artículo y una cantidad separados por una coma

Por ejemplo, la entrada de inventario apples,5 significa que la tienda tiene 5 manzanas en stock.

Para cada artículo en tu lista de compras, imprime el nombre del artículo seguido de - Yes si se puede comprar, o - No si no se puede.

Un artículo se puede comprar si:

  • Existe en el inventario de la tienda Y
  • Su cantidad es mayor que 0

Si un artículo no está en el inventario en absoluto, o tiene una cantidad de 0, imprime No.

Por ejemplo, si las entradas son:

apples,bread,milk
3
apples,5
bread,0
milk,3

La salida debería ser:

apples - Yes
bread - No
milk - Yes

Si las entradas son:

eggs,butter,cheese,yogurt
2
eggs,12
cheese,0

La salida debería ser:

eggs - Yes
butter - No
cheese - No
yogurt - No

Si las entradas son:

water
1
water,100

La salida debería ser:

water - Yes

Pruébalo tú mismo

# Leer la lista de compras (elementos separados por comas)
shopping_list = gets.chomp.split(',')

# Leer el número de artículos en el inventario
n = gets.to_i

# Leer el inventario de la tienda
inventory = {}
n.times do
  line = gets.chomp.split(',')
  item_name = line[0]
  quantity = line[1].to_i
  inventory[item_name] = quantity
end

# TODO: Escribe tu código a continuación
# Para cada artículo en la lista de compras, verifica si se puede comprar
# Un artículo se puede comprar si existe en el inventario Y tiene una cantidad > 0
# Imprime "item_name - Yes" o "item_name - No" para cada artículo

Todas las lecciones de Fundamentos