Menu
CoddyTech

Ôn tập: Bàn giao dịch cổ phiếu

Thuộc phần Logic và luồng điều khiển trong hành trình R của Coddy. Bài học 11 trên 64.

challenge icon

Thử thách

Trung bình

Hoàn thành hàm (function) process_orders(stock, orders). Xử lý các đơn hàng theo thứ tự và trả về một dòng cho mỗi đơn:

  • unknown <item> khi mặt hàng không có trong stock
  • out of <item> khi số lượng của mặt hàng là 0
  • sold <item> trong các trường hợp còn lại, đồng thời giảm số lượng của mặt hàng đi 1

Sau các đơn hàng, thêm một dòng cho mỗi mặt hàng còn trong kho theo thứ tự bảng chữ cái: <item>: <quantity>.

Code được cung cấp đọc thông tin kho dưới dạng các cặp name=quantity và các đơn hàng dưới dạng một dòng phân tách bằng dấu phẩy, rồi in ra từng dòng được trả về.

Tự làm thử

process_orders <- function(stock, orders) {
  # Viết code của bạn ở đây
  character(0)
}

# Đoạn code đầu vào/đầu ra có sẵn: giữ nguyên
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")

Tất cả bài học trong Logic và luồng điều khiển

Tự luyện tập: Trình biên dịch R online