Menu
Coddy logo textTech

Quoi acheter

Fait partie de la section Fondamentaux du Journey Swift de Coddy — leçon 86 sur 86.

challenge icon

Défi

Facile

Écrivez une fonction whatToBuy qui prend itemNames, itemPrices et budget et renvoie un tableau de noms d'articles pouvant être achetés dans la limite du budget.

Parcourez les articles dans l'ordre. Pour chaque article, vérifiez si l'ajout de son prix à votre total cumulé reste dans le budget. Si c'est le cas, ajoutez le nom de l'article à votre liste de courses et mettez à jour le total. Si un article dépasse le budget, ignorez-le et continuez à vérifier les articles restants.

Logique :

  1. Commencez avec un total cumulé de 0.0 et un tableau de résultats vide
  2. Parcourez chaque article par index
  3. Si le total cumulé plus le prix de l'article actuel est inférieur ou égal au budget, ajoutez le nom de l'article au résultat et mettez à jour le total cumulé
  4. Si l'ajout de l'article dépasse le budget, ignorez-le et passez à l'article suivant
  5. Renvoyez le tableau des noms d'articles abordables

Paramètres :

  • itemNames ([String]) : Tableau de noms d'articles
  • itemPrices ([Double]) : Tableau des prix correspondants (même longueur que itemNames)
  • budget (Double) : Le montant maximum pouvant être dépensé

Retourne : Un tableau de noms d'articles qui peuvent être payés dans la limite du budget, dans l'ordre où ils apparaissent ([String])

Exemple :

// itemNames: ["Apple", "Bread", "Milk"]
// itemPrices: [2.0, 3.5, 4.0]
// budget: 6.0
// Result: ["Apple", "Bread"]
// (Apple costs 2.0, Bread costs 3.5, total is 5.5 which is within budget)
// (Milk would make total 9.5, which exceeds 6.0, so it's skipped)

Essayez vous-même

func whatToBuy(itemNames: [String], itemPrices: [Double], budget: Double) -> [String] {
    // Écrire le code ici
}

Toutes les leçons de Fondamentaux