Menu
Coddy logo textTech

Resumen - Inventario

Parte de la sección Lógica y Flujo del Journey de Swift de Coddy — lección 17 de 56.

challenge icon

Desafío

Intermedio

Estás haciendo el seguimiento del inventario de una tienda. Lee una sola línea de entrada: una lista separada por comas de operaciones contra un [String: Int] inicialmente vacío llamado stock. Cada operación es una de las siguientes:

  • in:<item>:<qty> añade la cantidad al artículo (utiliza el patrón de subíndice por defecto)
  • out:<item>:<qty> resta la cantidad. Si la cantidad resultante es 0 o negativa, elimina la clave por completo.

Después de aplicar cada operación, imprime:

  1. Una línea por cada artículo restante, ordenado alfabéticamente, en el formato <item>: <qty>
  2. Total units: <n> sumando cada valor restante

Para la entrada in:apple:5,in:bread:2,out:apple:3,in:apple:4,out:bread:5, la salida es:

apple: 6
Total units: 6

Pruébalo tú mismo

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

// TODO: analizar cada op como tipo:artículo:cantidad; in suma, out resta;
// eliminar claves cuya cantidad baje a <= 0; imprimir líneas ordenadas + total

Todas las lecciones de Lógica y Flujo