Menu
Coddy logo textTech

Powtórzenie – tabela wyników

Część sekcji Logika i przepływ programu ścieżki Swift w Coddy. Lekcja 32 z 56.

challenge icon

Wyzwanie

Średni

Tworzysz ranking. Wczytaj jeden wiersz danych wejściowych: listę wpisów name:score rozdzielonych przecinkami. Niektóre wpisy mają wynik niebędący liczbą całkowitą i należy je pominąć (użyj compactMap).

Wypisz trzech najlepszych graczy w kolejności malejącej według wyniku, po jednym w każdym wierszu, w formacie:

<rank>. <name> - <score>

Rankingi zaczynają się od 1. Remisy rozstrzygaj alfabetycznie według nazw. Jeśli jest mniej niż trzech prawidłowych wpisów, wypisz je wszystkie.

Po rankingu wypisz Avg: <n> ze średnią całkowitą wszystkich prawidłowych wyników (zaokrąglij w kierunku zera, bez miejsc po przecinku). Gdy nie ma prawidłowych wpisów, wypisz Avg: 0.

Dla danych wejściowych alice:90,bob:bad,cara:85,dan:90,eve:70,fin:99 wynik to:

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

Spróbuj swoich sił

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

// TODO: użyj compactMap, aby uzyskać (name, score); posortuj malejąco według score, a przy remisie według name;
// wypisz 3 najlepsze wyniki; następnie średnią ze wszystkich poprawnych wyników

Wszystkie lekcje w sekcji Logika i przepływ programu

Poćwicz samodzielnie: Edytor online Swift