مراجعة - لوحة المتصدرين
جزء من قسم المنطق وتدفق التنفيذ في رحلة R على Coddy. الدرس 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")
جميع دروس المنطق وتدفق التنفيذ
1السلاسل النصية بعمق
السلاسل الفرعية باستخدام substr()التنسيق باستخدام sprintf()التقسيم والضمالبحث في السلاسل النصيةاستبدال النصوصمراجعة - منشئ اسم المستخدم4المصفوفات
إنشاء المصفوفاتفهرسة المصفوفاتملخصات الصفوف والأعمدةالحساب على المصفوفاتمراجعة - مخطط المقاعد2استرجاع القيم باستخدام المفاتيح
البحث في المتجهات المُسمّاةالتحقق من المفاتيحإضافة المفاتيح وإزالتهاالتكرار عبر الأسماءمراجعة - مكتب الأسهم8الفرز والتجميع
فرز المتجهاتالفرز حسب مفتاحالتجميع باستخدام split()ملخصات المجموعاتمراجعة - لوحة المتصدرينتدرّب بنفسك: مترجم R عبر الإنترنت