סיכום – לוח מובילים
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Swift של Coddy. שיעור 32 מתוך 56.
אתגר
בינוניאתם יוצרים טבלת דירוג. קראו שורת קלט אחת: רשימה מופרדת בפסיקים של רשומות name:score. לחלק מהרשומות יש ציון שאינו מספר שלם, ויש לדלג עליהן (השתמשו ב־compactMap).
הדפיסו את שלושת השחקנים המובילים לפי ציון בסדר יורד, אחד בכל שורה, בפורמט:
<rank>. <name> - <score>הדירוגים מתחילים ב־1. במקרה של תיקו, הכריעו לפי השם בסדר אלפביתי. אם יש פחות משלוש רשומות תקינות, הדפיסו את כולן.
אחרי טבלת הדירוג, הדפיסו Avg: <n> עם הממוצע השלם של כל הציונים התקינים (עיגול כלפי אפס, ללא ספרות עשרוניות). כשאין רשומות תקינות, הדפיסו Avg: 0.
עבור הקלט alice:90,bob:bad,cara:85,dan:90,eve:70,fin:99, הפלט הוא:
1. fin - 99
2. alice - 90
3. dan - 90
Avg: 86נסו בעצמכם
let entries = readLine()!.components(separatedBy: ",")
// TODO: להשתמש ב-compactMap כדי ליצור (name, score); למיין לפי score בסדר יורד, ובמקרה של שוויון לפי name;
// להדפיס את 3 הראשונים; ואז את הממוצע של כל ערכי score התקינים
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
5פונקציות מסדר גבוה חלק 1
מיפוי (Map)סינון (Filter)צמצום (Reduce)שרשור map, filter ו-reduceסיכום – סטטיסטיקות מיליםתרגלו בעצמכם: Swift אונליין