Menu
Coddy logo textTech

Riepilogo - Banco di borsa

Fa parte della sezione Logica e flusso del percorso Kotlin di Coddy. Lezione 5 di 63.

challenge icon

Sfida

Medio

Completa stockDesk con i parametri stock: Map<String, Int>, item: String, delivery: Int, sold: Int. Copia le scorte, aggiungi una consegna non negativa per l'articolo (se manca, considera zero), quindi sottrai la quantità venduta se le scorte sono sufficienti. Restituisci le scorte finali, oppure -1 se la vendita non può essere evasa. La consegna e la quantità venduta sono non negative.

A meno che sopra non siano indicati limiti più restrittivi, le raccolte contengono al massimo 100 elementi a ciascun livello e gli argomenti interi e i valori interi delle raccolte sono compresi tra -1000 e 1000. Il testo fornito per l'analisi può contenere rappresentazioni non valide o fuori intervallo, come descritto.

Restituisci un valore di tipo Int. Mantieni il codice di input/output fornito. Legge gli argomenti scalari, uno per riga; una lista inizia con il suo conteggio seguito dagli elementi, e una mappa inizia con il conteggio delle voci seguito da ogni chiave e valore. Le liste annidate ripetono il formato conteggio ed elementi per ogni riga. Il main fornito stampa il valore restituito seguito da un carattere di nuova riga. Le liste usano il formato standard di Kotlin tra parentesi quadre; non stampare etichette aggiuntive.

Provalo tu

fun stockDesk(stock: Map<String, Int>, item: String, delivery: Int, sold: Int): Int {
    // Scrivi qui la tua soluzione.
    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))
}

Tutte le lezioni di Logica e flusso

Esercitati da solo: Playground Kotlin