Menu
Coddy logo textTech

סיכום – לוח מובילים

חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-R של Coddy. שיעור 41 מתוך 64.

challenge icon

אתגר

בינוני

השלימו את 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")

כל השיעורים ביחידה לוגיקה וזרימת תוכנית

תרגלו בעצמכם: קומפיילר R אונליין