Menu
Coddy logo textTech

Zusammenfassung – Inventar

Teil des Abschnitts Logik & Kontrollfluss der Swift-Journey von Coddy — Lektion 17 von 56.

challenge icon

Aufgabe

Mittel

Sie verfolgen den Lagerbestand eines Geschäfts. Lesen Sie eine einzelne Eingabezeile ein: eine durch Kommas getrennte Liste von Operationen für ein anfangs leeres [String: Int] namens stock. Jede Operation ist eine der folgenden:

  • in:<item>:<qty> fügt die Menge zum Artikel hinzu (verwenden Sie das Default-Subscript-Muster)
  • out:<item>:<qty> subtrahiert die Menge. Wenn die resultierende Menge 0 oder negativ ist, entfernen Sie den Schlüssel vollständig.

Nachdem Sie jede Operation angewendet haben, geben Sie Folgendes aus:

  1. Eine Zeile pro verbleibendem Artikel, alphabetisch sortiert, im Format <item>: <qty>
  2. Total units: <n> über alle verbleibenden Werte hinweg

Für die Eingabe in:apple:5,in:bread:2,out:apple:3,in:apple:4,out:bread:5 lautet die Ausgabe:

apple: 6
Total units: 6

Probier es selbst

let ops = readLine()!.components(separatedBy: ",")
var stock: [String: Int] = [:]

// TODO: Jede Operation als Art:Gegenstand:Menge parsen; in addiert, out subtrahiert;
// Schlüssel entfernen, deren Menge auf <= 0 fällt; sortierte Zeilen + Summe ausgeben

Alle Lektionen in Logik & Kontrollfluss