Menu
Coddy logo textTech

סיכום – מלאי

חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Swift של Coddy. שיעור 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 אונליין