סיכום – מלאי
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Swift של Coddy. שיעור 17 מתוך 56.
אתגר
בינוניאתם עוקבים אחר מלאי החנות. קראו שורת קלט אחת: רשימה של פעולות המופרדות בפסיקים, המתבצעות על [String: Int] ריק בתחילה בשם stock. כל פעולה היא אחת מאלה:
in:<item>:<qty>הוסיפו כמות לפריט (השתמשו בתבנית ברירת המחדל של הגישה לפי מפתח)out:<item>:<qty>הפחיתו כמות. אם הכמות שהתקבלה היא0או שלילית, הסירו את המפתח לחלוטין.
לאחר החלת כל פעולה, הדפיסו:
- שורה אחת לכל פריט שנותר, בסדר אלפביתי, בתבנית
<item>: <qty> 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; הדפס שורות ממוינות + סכום כולל
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
5פונקציות מסדר גבוה חלק 1
מיפוי (Map)סינון (Filter)צמצום (Reduce)שרשור map, filter ו-reduceסיכום – סטטיסטיקות מיליםתרגלו בעצמכם: Swift אונליין