Menu
CoddyTech

Ulasan: Meja Saham

Termasuk bagian Logika dan Alur dalam perjalanan R di Coddy. Pelajaran 11 dari 64.

challenge icon

Tantangan

Sedang

Selesaikan process_orders(stock, orders). Tangani pesanan sesuai urutan dan kembalikan satu baris untuk setiap pesanan:

  • unknown <item> jika item tidak ada di stock
  • out of <item> jika jumlahnya 0
  • sold <item> jika tidak, dan jumlahnya berkurang 1

Setelah semua pesanan, tambahkan satu baris untuk setiap item dalam stok, urut berdasarkan abjad: <item>: <quantity>.

Kode yang disediakan membaca stok sebagai pasangan name=quantity dan pesanan sebagai baris yang dipisahkan koma, lalu mencetak setiap baris yang dikembalikan.

Coba sendiri

process_orders <- function(stock, orders) {
  # Tulis kodemu di sini
  character(0)
}

# Kode input/output yang disediakan: biarkan apa adanya
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")

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler R online