Menu
Coddy logo textTech

Qué comprar

Parte de la sección Fundamentos del Journey de Swift de Coddy. Lección 86 de 86.

challenge icon

Desafío

Fácil

Escribe una función whatToBuy que reciba itemNames, itemPrices y budget y devuelva un array con los nombres de los artículos que se pueden comprar dentro del presupuesto.

Itera a través de los artículos en orden. Para cada artículo, comprueba si añadir su precio a tu total acumulado se mantendría dentro del presupuesto. Si es así, añade el nombre del artículo a tu lista de la compra y actualiza el total. Si un artículo excede el presupuesto, sáltalo y continúa comprobando los artículos restantes.

Lógica:

  1. Comienza con un total acumulado de 0.0 y un array de resultados vacío
  2. Recorre cada artículo por índice
  3. Si el total acumulado más el precio del artículo actual es menor o igual al presupuesto, añade el nombre del artículo al resultado y actualiza el total acumulado
  4. Si añadir el artículo excediera el presupuesto, sáltalo y continúa con el siguiente artículo
  5. Devuelve el array de nombres de artículos que se pueden costear

Parámetros:

  • itemNames ([String]): Array de nombres de artículos
  • itemPrices ([Double]): Array de precios correspondientes (misma longitud que itemNames)
  • budget (Double): La cantidad máxima que se puede gastar

Devuelve: Un array de nombres de artículos que se pueden costear dentro del presupuesto, en el orden en que aparecen ([String])

Ejemplo:

// itemNames: ["Apple", "Bread", "Milk"]
// itemPrices: [2.0, 3.5, 4.0]
// budget: 6.0
// Result: ["Apple", "Bread"]
// (Apple cuesta 2.0, Bread cuesta 3.5, el total es 5.5 que está dentro del presupuesto)
// (Milk haría que el total fuera 9.5, lo cual excede 6.0, por lo que se omite)

Pruébalo tú mismo

func whatToBuy(itemNames: [String], itemPrices: [Double], budget: Double) -> [String] {
    // Escribe el código aquí
}

Todas las lecciones de Fundamentos

Practica por tu cuenta: Playground de Swift