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