Tantangan, Audit Skor
Termasuk bagian Logika & Alur dalam perjalanan Kotlin di Coddy. Pelajaran 62 dari 63.
Tantangan
AhliLengkapi scoreAudit dengan parameter rows: List<String>. Setiap baris memiliki format name:score. Abaikan baris kecuali jika pemisahan berdasarkan : menghasilkan tepat dua field, nama yang sudah di-trim cocok dengan [a-z]+, dan skor yang sudah di-trim dapat di-parse sebagai Int dari 0 hingga 100. Untuk nama yang berulang, simpan skor valid terbaru; baris tidak valid tidak pernah menggantikan skor sebelumnya. Kembalikan entri name=score berdasarkan skor menurun, dengan urutan alfabetis sebagai penentu jika skornya sama.
Kecuali jika batas yang lebih ketat disebutkan di atas, koleksi berisi paling banyak 100 elemen pada setiap tingkat, dan argumen integer serta nilai integer dalam koleksi berada di antara -1000 dan 1000. Teks yang diberikan untuk di-parse dapat mencakup representasi yang tidak valid atau di luar rentang seperti yang dijelaskan.
Kembalikan nilai bertipe List<String>. Pertahankan kode input/output yang disediakan. Kode tersebut membaca argumen skalar satu per baris; sebuah list dimulai dengan jumlah elemennya, lalu diikuti elemen-elemennya, dan sebuah map dimulai dengan jumlah entrinya, lalu diikuti setiap key dan value. List bersarang mengulangi format jumlah-elemen untuk setiap baris. main yang disediakan mencetak nilai yang dikembalikan, lalu satu baris baru. List menggunakan format standar Kotlin dengan tanda kurung siku; jangan mencetak label tambahan.
Coba sendiri
fun scoreAudit(rows: List<String>): List<String> {
// Tulis solusimu di sini.
return emptyList()
}
fun main() {
val rowsCount = readln().toInt()
val rows = mutableListOf<String>()
for (i0 in 0 until rowsCount) {
val rowsItem = readLine().orEmpty()
rows.add(rowsItem)
}
println(scoreAudit(rows))
}Semua pelajaran di Logika & Alur
4Koleksi Bersarang
List Berisi ListMenelusuri BarisRingkasan BarisMeratakan List BertingkatRangkuman, Baris Tempat Duduk7Alur Pemrosesan Koleksi
Transformasi dengan MapMemfilter NilaiMenguji Aturan KoleksiMengakumulasi dengan FoldRangkuman: Total yang Disetujui2Map Bagian 2
Menelusuri Entri MapKunci dan NilaiMap FrekuensiMap BersarangRingkasan: Laporan Frekuensi5Proyek: Buku Kontak
Menyimpan KontakMencari KontakLatihan sendiri: Playground Kotlin