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