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 tome itemNames, itemPrices y budget, y devuelva un array de nombres de artículos que se puedan comprar dentro del presupuesto.

Recorre los artículos en orden. Para cada artículo, comprueba si sumar su precio al total acumulado se mantendría dentro del presupuesto. Si es así, añade el nombre del artículo a tu lista de compras y actualiza el total. Si un artículo superara el presupuesto, omítelo 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 que el presupuesto, añade el nombre del artículo al resultado y actualiza el total acumulado
  4. Si añadir el artículo superara el presupuesto, omítelo y continúa con el artículo siguiente
  5. Devuelve el array de nombres de artículos asequibles

Parámetros:

  • itemNames ([String]): Array de nombres de artículos
  • itemPrices ([Double]): Array de precios correspondientes (con la 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 comprar 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
// Resultado: ["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 sea 9.5, lo cual excede 6.0, así 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