Menu
CoddyTech

Rekap: Meja Persediaan

Termasuk bagian Logika & Alur dalam perjalanan Kotlin di Coddy. Pelajaran 5 dari 63.

challenge icon

Tantangan

Sedang

Lengkapi stockDesk dengan parameter stock: Map<String, Int>, item: String, delivery: Int, sold: Int. Salin stok, tambahkan pengiriman nonnegatif untuk item tersebut (jika tidak ada, anggap nol), lalu kurangi jumlah yang terjual jika stok mencukupi. Kembalikan stok akhir, atau -1 jika penjualan tidak dapat dipenuhi. Nilai delivery dan sold nonnegatif.

Kecuali batas yang lebih ketat dinyatakan di atas, koleksi berisi paling banyak 100 elemen pada setiap tingkat, dan argumen bilangan bulat serta nilai bilangan bulat dalam koleksi berada di antara -1000 dan 1000. Teks yang diberikan untuk diurai dapat mencakup representasi yang tidak valid atau di luar rentang sebagaimana dijelaskan.

Kembalikan nilai bertipe Int. Pertahankan kode input/output yang disediakan. Kode tersebut membaca argumen skalar satu per baris; list dimulai dengan jumlah elemennya, lalu diikuti elemen-elemennya, dan 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 kembalian diikuti satu karakter baris baru. List menggunakan format standar Kotlin dengan tanda kurung siku; jangan mencetak label tambahan.

Coba sendiri

fun stockDesk(stock: Map<String, Int>, item: String, delivery: Int, sold: Int): Int {
    // Tulis solusimu di sini.
    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))
}

Semua pelajaran di Logika & Alur

Latihan sendiri: Playground Kotlin