Menu
Coddy logo textTech

Kişileri Kaydetme

Coddy'nin Kotlin Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 21 / 63.

Kişi adlarını kaydeden, bulan ve kaldıran, ardından adları listeleyip istatistikleri raporlayan bir Kişi Rehberi oluşturun. Değiştirilebilir bir eşlem, her ad için bir telefon numarası saklar. Tek bir çağrıdaki komutlar bu eşlemeyi paylaşır; her yeni çağrı yeniden başlar. Sağlanan giriş kodu, eşit uzunluktaki üç listeyi okur. Komut döngüsünü contactBook içinde uygulayın.

val contacts = mutableMapOf<String, String>()
challenge icon

Görev

Zor

contactBook işlevini commands: List<String>, names: List<String>, phones: List<String> parametreleriyle tamamlayın. Her işlev çağrısı için boş başlayan, bellek içi bir kişi defteri oluşturun. Üç listenin uzunluğu eşittir ve en fazla 100'dür. Her dizin için commands bir işlemi seçer; names ve phones bu işlemin bağımsız değişkenlerini sağlar. Names boş olmayan küçük harfli ASCII sözcüklerdir; phones boş olmayan rakam dizeleridir ve baştaki sıfırları korumak için dize olarak kalmalıdır. Her komut, döndürülen listedeki bir yanıtı üretir. PUT işlemini destekleyin: sağlanan adın telefonunu kaydedin veya değiştirin, ardından saved yanıtını verin. Girdiler yalnızca bu adımda desteklenen komutları içerir. Yok sayılan bağımsız değişken dizeleri, boş olmayan herhangi bir metin olabilir.

Yukarıda daha sıkı sınırlar belirtilmediği sürece koleksiyonlar her düzeyde en fazla 100 öğe içerir ve tamsayı bağımsız değişkenler ile tamsayı koleksiyon değerleri -1000 ile 1000 arasındadır. Ayrıştırma için sağlanan metin, açıklandığı gibi geçersiz veya aralık dışı gösterimler içerebilir.

List<String> türünde bir değer döndürün. Sağlanan girdi/çıktı kodunu koruyun. Bu kod, skaler bağımsız değişkenleri satır başına bir tane okur; bir liste, ardından öğeleri gelen sayısıyla başlar ve bir eşlem, ardından her anahtar ve değer gelen giriş sayısıyla başlar. İç içe listeler, her satır için sayı ve öğeler biçimini tekrarlar. Sağlanan main, dönüş değerini ve ardından bir yeni satır yazdırır. Listeler Kotlin'in standart köşeli parantezli biçimini kullanır; ek etiket yazdırmayın.

Kendin dene

fun contactBook(commands: List<String>, names: List<String>, phones: List<String>): List<String> {
    // Çözümünüzü buraya yazın.
    return emptyList()
}
fun main() {
    val commandsCount = readln().toInt()
    val commands = mutableListOf<String>()
    for (i0 in 0 until commandsCount) {
        val commandsItem = readLine().orEmpty()
        commands.add(commandsItem)
    }
    val namesCount = readln().toInt()
    val names = mutableListOf<String>()
    for (i0 in 0 until namesCount) {
        val namesItem = readLine().orEmpty()
        names.add(namesItem)
    }
    val phonesCount = readln().toInt()
    val phones = mutableListOf<String>()
    for (i0 in 0 until phonesCount) {
        val phonesItem = readLine().orEmpty()
        phones.add(phonesItem)
    }
    println(contactBook(commands, names, phones))
}

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

Kendi başına pratik yap: Kotlin playground