סיכום – דלפק המניות
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Kotlin של Coddy. שיעור 5 מתוך 63.
אתגר
בינוניהשלם את stockDesk עם הפרמטרים stock: Map<String, Int>, item: String, delivery: Int, sold: Int. העתק את המלאי, הוסף את האספקה הלא-שלילית עבור הפריט (אם הוא חסר, הערך הוא אפס), ואז הפחת את הכמות שנמכרה אם יש מספיק מלאי. החזר את המלאי הסופי, או -1 אם אי אפשר למלא את ההזמנה. ערכי האספקה והכמות שנמכרה הם לא-שליליים.
אלא אם צוינו למעלה גבולות מחמירים יותר, אוספים מכילים לכל היותר 100 איברים בכל רמה, וארגומנטים של מספרים שלמים וערכי מספרים שלמים באוספים הם בין -1000 ל-1000. טקסט שסופק לניתוח עשוי לכלול ייצוגים לא תקינים או מחוץ לטווח, כמתואר.
החזר ערך מסוג Int. השאר את קוד הקלט/פלט שסופק. הוא קורא ארגומנטים סקלריים, אחד בכל שורה; רשימה מתחילה במספר האיברים שלה ואחריו האיברים, ומפה מתחילה במספר הרשומות שלה ואחריו כל מפתח וערך. רשימות מקוננות חוזרות על הפורמט של מספר איברים ואחריו איברים עבור כל שורה. ה-main שסופק מדפיס את הערך המוחזר ואחריו תו newline אחד. רשימות משתמשות בפורמט הסטנדרטי של Kotlin עם סוגריים מרובעים; אל תדפיס תוויות נוספות.
נסו בעצמכם
fun stockDesk(stock: Map<String, Int>, item: String, delivery: Int, sold: Int): Int {
// כתבו כאן את הפתרון שלכם.
return 0
}
fun main() {
val stockCount = readln().toInt()
val stock = mutableMapOf<String, Int>()
for (i0 in 0 until stockCount) {
val stockKey = readln()
val stockValue = readln().toInt()
stock[stockKey] = stockValue
}
val item = readLine().orEmpty()
val delivery = readln().toInt()
val sold = readln().toInt()
println(stockDesk(stock, item, delivery, sold))
}כל השיעורים ביחידה לוגיקה וזרימת תוכנית
4אוספים מקוננים
רשימות של רשימותמעבר על שורותסיכומים של שורותהשטחת רשימות מקוננותסיכום – שורות של מקומות ישיבה7צינורות עיבוד של אוספים
טרנספורמציה באמצעות Mapסינון ערכיםבדיקת כללי האוסףצבירה באמצעות Foldסיכום – סכומים מאושרים5פרויקט - ספר טלפונים
שמירת אנשי קשרחיפוש אנשי קשרתרגלו בעצמכם: Kotlin אונליין