KPTE
締め切りが 2017/01/12 10:00 AM なので,その 1 分後に投稿されるように予約
仕様
標準入力
・ユーザー名,絵文字1,絵文字2,・・・,絵文字N というフォーマットのデータが複数行入力されます
・ユーザー名は [a-z] から構成される文字列です
・絵文字は [a-z] から構成される文字列からなります
例
usera,emojia,emojib,emojic
userb,emojia,emojib,emojib
標準出力
・ユーザー名,その人が利用している絵文字の種類 というのデータが複数行出力されます
・利用文字種が多い順に出力する(利用文字種が同じ入力データは存在しないものとする)
例
usera,3
userb,2
その他の仕様
・標準入力の末尾には改行があります
・標準出力の末尾に改行をつけてください
・標準入力の仕様で説明した内容以外の入力は行われません(不正入力に対するチェックは不要)
Input
tanaka,question,smoking,oden,wedding,metal,cl,three,sparkle,new
suzuki,mushroom,anchor,pizza,notes
sato,grapes,watermelon,jp,tennis,hammer
honda,ox,watch,euro
takahashi,cupid
Output
tanaka,9
sato,5
suzuki,4
honda,3
takahashi,1
==========================
f = function(s) {
user = x = NULL
for (i in s) {
s2 = unlist(strsplit(i, ","))
user = c(user, s2[1])
x = c(x, length(table(s2[-1])))
}
o = order(x, decreasing=TRUE)
user = user[o]
x = x[o]
for (i in seq_along(user)) {
cat(sprintf("%s,%d\n", user[i], x[i]))
}
}
f(readLines(file("stdin", "r")))