Menu
Coddy logo textTech

Was kaufen

Teil des Abschnitts Grundlagen der Swift-Journey von Coddy. Lektion 86 von 86.

challenge icon

Aufgabe

Einfach
Schreibe eine Funktion whatToBuy, die itemNames, itemPrices und budget entgegennimmt und ein Array mit den Namen der Artikel zurückgibt, die innerhalb des Budgets gekauft werden können.

Durchlaufe die Artikel in der vorgegebenen Reihenfolge. Prüfe für jeden Artikel, ob das Hinzufügen seines Preises zur laufenden Gesamtsumme innerhalb des Budgets bleiben würde. Wenn ja, füge den Artikelnamen deiner Einkaufsliste hinzu und aktualisiere die Gesamtsumme. Wenn ein Artikel das Budget überschreiten würde, überspringe ihn und prüfe die verbleibenden Artikel weiter.

Logik:

  1. Beginne mit einer laufenden Gesamtsumme von 0.0 und einem leeren Ergebnis-Array
  2. Durchlaufe jedes Element nach Index
  3. Wenn die laufende Gesamtsumme plus der Preis des aktuellen Artikels kleiner oder gleich dem Budget ist, füge den Artikelnamen zum Ergebnis hinzu und aktualisiere die laufende Gesamtsumme
  4. Wenn das Hinzufügen des Artikels das Budget überschreiten würde, überspringe ihn und fahre mit dem nächsten Artikel fort
  5. Gib das Array der erschwinglichen Artikelnamen zurück

Parameter:

  • itemNames ([String]): Array mit Artikelnamen
  • itemPrices ([Double]): Array mit den entsprechenden Preisen (dieselbe Länge wie itemNames)
  • budget (Double): Der maximale Betrag, der ausgegeben werden kann

Rückgabe: Ein Array mit den Artikelnamen, die innerhalb des Budgets bezahlt werden können, in der Reihenfolge ihres Auftretens ([String])

Beispiel:

// itemNames: ["Apple", "Bread", "Milk"]
// itemPrices: [2.0, 3.5, 4.0]
// budget: 6.0
// Ergebnis: ["Apple", "Bread"]
// (Apple kostet 2.0, Bread kostet 3.5, Summe ist 5.5, was innerhalb des Budgets liegt)
// (Milk würde die Summe auf 9.5 bringen, was 6.0 überschreitet, daher wird es übersprungen)

Probier es selbst

func whatToBuy(itemNames: [String], itemPrices: [Double], budget: Double) -> [String] {
    // Schreibe hier den Code
}

Alle Lektionen in Grundlagen

Übe selbstständig: Swift-Playground