Menu
Coddy logo textTech

復習 - リーダーボード

CoddyのRジャーニー「ロジックとフロー」セクションの一部。レッスン 41/64。

challenge icon

チャレンジ

中級

leaderboard(names, points) を完成させてください。各エントリには、1ラウンドで1人のプレイヤーが獲得したポイントが記録されており、同じプレイヤーが何度も登場することがあります。プレイヤーごとに1行、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オンラインコンパイラ