Menu
CoddyTech

回顾:库存

本课属于 Coddy Swift 学习旅程的“逻辑与流程”单元。第 17 课,共 56 课。

challenge icon

挑战

中等

你正在跟踪商店库存。读取一行输入:一个逗号分隔的操作列表,用于操作初始为空、名为 [String: Int] 的 stock。每个操作的形式如下:

  • in:<item>:<qty> 将数量加到对应商品上(使用默认下标模式)
  • out:<item>:<qty> 减去相应数量。如果结果数量为 0 或更少,删除整个键。

应用所有操作后,打印:

  1. 每个剩余商品占一行,按字母顺序排序,格式为 <item>: <qty>
  2. 所有剩余值的总和,格式为 Total units: <n>

对于输入 in:apple:5,in:bread:2,out:apple:3,in:apple:4,out:bread:5,输出为:

apple: 6
Total units: 6

亲手试试

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

// TODO:将每个 op 解析为 kind:item:qty;in 表示增加,out 表示减少;
// 移除 qty 降至 <= 0 的键;按顺序打印各行和总计

逻辑与流程中的所有课

自己练习: Swift 在线编辑器