סיכום – לוח מובילים
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-R של Coddy. שיעור 41 מתוך 64.
אתגר
בינוניהשלימו את leaderboard(names, points). כל רשומה מתעדת את הנקודות ששחקן אחד צבר בסיבוב אחד, ושחקן יכול להופיע פעמים רבות. החזירו שורה אחת לכל שחקן, 1. ana 15 (2 rounds), בדירוג לפי סך הנקודות מהגבוה לנמוך. שחקנים עם אותו סך נקודות מדורגים לפי סדר האלפבית.
לאחר מכן הוסיפו Best round: ולאחריו את השחקן ואת הנקודות של הרשומה היחידה הגבוהה ביותר, כמו cy 12. כאשר כמה רשומות חולקות את מספר הנקודות הגבוה ביותר, השתמשו בראשונה מביניהן.
הקוד שסופק קורא את הסיבובים כזוגות name:points המופרדים בפסיקים ומדפיס כל שורה שהוחזרה.
נסו בעצמכם
leaderboard <- function(names, points) {
# כתבו כאן את הקוד שלכם
character(0)
}
# קוד קלט/פלט שסופק: השאירו אותו כפי שהוא
input <- suppressWarnings(readLines(file("stdin")))
pairs <- strsplit(strsplit(input[1], ",")[[1]], ":")
names <- sapply(pairs, function(p) p[1])
values <- as.numeric(sapply(pairs, function(p) p[2]))
cat(leaderboard(names, values), sep = "\n")
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
1מחרוזות לעומק
תת־מחרוזות עם substr()עיצוב עם sprintf()פיצול וחיבורחיפוש במחרוזותהחלפת טקסטסיכום – בונה שמות משתמש4מטריצות
יצירת מטריצותאינדוקס מטריצותסיכומי שורות ועמודותאריתמטיקה של מטריצותסיכום – תרשים מקומות ישיבהתרגלו בעצמכם: קומפיילר R אונליין