Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

مراجعة - المخزون

جزء من قسم المنطق والتدفق في رحلة Swift على Coddy — الدرس 17 من 56.

challenge icon

التحدي

متوسط

أنت تقوم بتتبع مخزون المتجر. اقرأ سطراً واحداً من المدخلات: قائمة مفصولة بفاصلة من العمليات مقابل [String: Int] فارغ في البداية يسمى stock. كل عملية هي واحدة مما يلي:

  • in:<item>:<qty> إضافة الكمية إلى العنصر (استخدم نمط default-subscript)
  • 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؛ طباعة الأسطر المرتبة + total

جميع دروس المنطق والتدفق