Menu
Coddy logo textTech

Powtórzenie — giełda

Część sekcji Logika i przepływ sterowania ścieżki R w Coddy. Lekcja 11 z 64.

challenge icon

Wyzwanie

Średni

Uzupełnij process_orders(stock, orders). Obsłuż zamówienia w podanej kolejności i zwróć po jednym wierszu dla każdego:

  • unknown <item>, gdy produktu nie ma w stock
  • out of <item>, gdy jego ilość wynosi 0
  • sold <item> w przeciwnym razie, a jego ilość zmniejsza się o 1

Po obsłużeniu zamówień dodaj po jednym wierszu dla każdego produktu w magazynie, w kolejności alfabetycznej: <item>: <quantity>.

Dostarczony kod odczytuje stan magazynu jako pary name=quantity, a zamówienia jako wiersz z wartościami rozdzielonymi przecinkami, i wypisuje każdy zwrócony wiersz.

Spróbuj swoich sił

process_orders <- function(stock, orders) {
  # Wpisz tutaj swój kod
  character(0)
}

# Dostarczony kod wejścia/wyjścia: pozostaw go bez zmian
input <- suppressWarnings(readLines(file("stdin")))
stock <- c()
for (pair in strsplit(input[1], ",")[[1]]) {
  kv <- strsplit(pair, "=")[[1]]
  stock[kv[1]] <- as.numeric(kv[2])
}
cat(process_orders(stock, strsplit(input[2], ",")[[1]]), sep = "\n")

Wszystkie lekcje w sekcji Logika i przepływ sterowania

Poćwicz samodzielnie: Kompilator R online