Tantangan, Perlengkapan Bersama
Termasuk bagian Logika & Alur dalam perjalanan Kotlin di Coddy. Pelajaran 63 dari 63.
Tantangan
AhliLengkapi sharedSupplies dengan parameter requests: List<String>, available: List<String>. Setiap permintaan berupa daftar item yang diperlukan, dipisahkan dengan koma. Hapus spasi di awal dan akhir setiap kolom, ubah nama ASCII menjadi huruf kecil, dan buang kolom kosong. Permintaan dapat dipenuhi jika semua item unik yang diperlukan terdapat dalam available setelah normalisasi dengan menghapus spasi di awal dan akhir serta mengubahnya menjadi huruf kecil. Permintaan kosong dapat dipenuhi. Kembalikan index=ready atau index=missing:item1,item2 untuk setiap permintaan, dengan nama item yang hilang dibuat unik dan diurutkan. Gunakan indeks berbasis nol. Ketersediaan ditentukan berdasarkan keanggotaan, bukan jumlah.
Kecuali batas yang lebih ketat dinyatakan 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 diparsing dapat berisi representasi tidak valid atau di luar rentang seperti yang dijelaskan.
Kembalikan nilai bertipe List<String>. Pertahankan kode input/output yang diberikan. Kode tersebut membaca argumen skalar satu per baris; sebuah list dimulai dengan jumlah elemennya, lalu diikuti elemen-elemennya, sedangkan map dimulai dengan jumlah entrinya, lalu diikuti setiap kunci dan nilainya. List bertingkat mengulangi format jumlah dan elemen untuk setiap baris. main yang diberikan mencetak nilai yang dikembalikan, lalu satu karakter baris baru. List menggunakan format standar Kotlin dengan tanda kurung siku; jangan cetak label tambahan.
Coba sendiri
fun sharedSupplies(requests: List<String>, available: List<String>): List<String> {
// Tulis solusimu di sini.
return emptyList()
}
fun main() {
val requestsCount = readln().toInt()
val requests = mutableListOf<String>()
for (i0 in 0 until requestsCount) {
val requestsItem = readLine().orEmpty()
requests.add(requestsItem)
}
val availableCount = readln().toInt()
val available = mutableListOf<String>()
for (i0 in 0 until availableCount) {
val availableItem = readLine().orEmpty()
available.add(availableItem)
}
println(sharedSupplies(requests, available))
}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