Menu
CoddyTech

Rangkuman: Inventaris

Termasuk bagian Logika dan Alur dalam perjalanan Swift di Coddy. Pelajaran 17 dari 56.

challenge icon

Tantangan

Sedang

Kamu sedang melacak inventaris toko. Baca satu baris input: daftar operasi yang dipisahkan koma terhadap [String: Int] bernama stock yang awalnya kosong. Setiap operasi berupa salah satu dari:

  • in:<item>:<qty> tambahkan jumlah ke item (gunakan pola subskrip default)
  • out:<item>:<qty> kurangi jumlah. Jika jumlah hasilnya 0 atau kurang, hapus key sepenuhnya.

Setelah menerapkan setiap operasi, cetak:

  1. Satu baris untuk setiap item yang tersisa, diurutkan secara alfabetis, dengan format <item>: <qty>
  2. Total units: <n> untuk semua nilai yang tersisa

Untuk input in:apple:5,in:bread:2,out:apple:3,in:apple:4,out:bread:5, outputnya adalah:

apple: 6
Total units: 6

Coba sendiri

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

// TODO: uraikan setiap op sebagai kind:item:qty; in menambah, out mengurangi;
// hapus kunci yang qty-nya turun menjadi <= 0; cetak baris yang diurutkan + total

Semua pelajaran di Logika dan Alur

Latihan sendiri: Playground Swift