复习:排行榜
本课属于 Coddy R 学习旅程的“逻辑与流程”单元。第 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")
逻辑与流程中的所有课
自己练习: R 在线编译器