Menu
Coddy logo textTech

Özet - Liderlik Tablosu

Coddy'nin Swift Journey'sinin Mantık ve Akış bölümünün bir parçası — ders 32 / 56.

challenge icon

Görev

Orta

Bir liderlik tablosu oluşturuyorsunuz. Tek bir satır girdi okuyun: virgülle ayrılmış name:score girişlerinden oluşan bir liste. Bazı girişlerin puanı tam sayı değildir ve bunlar atlanmalıdır (compactMap kullanın).

En yüksek puana sahip ilk üç oyuncuyu puan azalan sırada, her satıra bir tane gelecek şekilde şu formatta yazdırın:

<rank>. <name> - <score>

Sıralamalar 1'den başlar. Eşitlik durumunda isimleri alfabetik olarak sıralayın. Üçten az geçerli giriş varsa, hepsini yazdırın.

Liderlik tablosundan sonra, her geçerli puanın tam sayı ortalamasını (sıfıra doğru yuvarlayın, ondalık basamak olmasın) Avg: <n> formatında yazdırın. Hiç geçerli giriş yoksa, Avg: 0 yazdırın.

alice:90,bob:bad,cara:85,dan:90,eve:70,fin:99 girdisi için çıktı şöyledir:

1. fin - 99
2. alice - 90
3. dan - 90
Avg: 86

Kendin dene

let entries = readLine()!.components(separatedBy: ",")

// YAPILACAK: (isim, puan) şeklinde compactMap yap; puana göre azalan, eşitlik durumunda isme göre sırala;
// ilk 3'ü yazdır; ardından tüm geçerli puanların ortalamasını al

Mantık ve Akış bölümündeki tüm dersler