Menu
Coddy logo textTech

Tekrar - Stok Masası

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

challenge icon

Görev

Orta

stockDesk işlevini stock: Map<String, Int>, item: String, delivery: Int, sold: Int parametreleriyle tamamlayın. Stoğu kopyalayın, item için negatif olmayan delivery değerini ekleyin (eksik olması sıfır anlamına gelir), ardından stokta yeterli miktar varsa sold değerini çıkarın. Son stoğu döndürün veya satış gerçekleştirilemiyorsa -1 döndürün. delivery ve sold negatif değildir.

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şkenleri ile tamsayı koleksiyon değerleri -1000 ile 1000 arasındadır. Ayrıştırma için sağlanan metin, açıklandığı üzere geçersiz veya aralık dışı gösterimler içerebilir.

Int 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 map, ardından her anahtar ve değerin geldiği 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 satır sonunu yazdırır. Listeler Kotlin'in standart köşeli parantezli biçimini kullanır; ek etiket yazdırmayın.

Kendin dene

fun stockDesk(stock: Map<String, Int>, item: String, delivery: Int, sold: Int): Int {
    // Çözümünüzü buraya yazın.
    return 0
}
fun main() {
    val stockCount = readln().toInt()
    val stock = mutableMapOf<String, Int>()
    for (i0 in 0 until stockCount) {
        val stockKey = readln()
        val stockValue = readln().toInt()
        stock[stockKey] = stockValue
    }
    val item = readLine().orEmpty()
    val delivery = readln().toInt()
    val sold = readln().toInt()
    println(stockDesk(stock, item, delivery, sold))
}

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

Kendi başına pratik yap: Kotlin playground