Menu
CoddyTech

Lập kế hoạch ngân sách

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 63 trên 64.

challenge icon

Thử thách

Khó

Hoàn thiện budget(lines). Dòng đầu tiên là tiêu đề month,type,amount và mỗi dòng còn lại là một mục, chẳng hạn như 2024-01,income,3000. Một mục hợp lệ khi loại của nó là income hoặc expense và số tiền lớn hơn 0; bỏ qua mọi mục khác.

Trả về một dòng cho mỗi tháng có mục hợp lệ, theo thứ tự, 2024-01: income 3000.00, spent 1250.50, saved 1749.50, trong đó saved là thu nhập trừ chi tiêu (tháng không có thu nhập hoặc chi tiêu được tính là 0). Sau đó thêm Best month: cùng với tháng tiết kiệm được nhiều nhất (nếu nhiều tháng bằng nhau thì chọn tháng đầu tiên) và Skipped: cùng với số mục đã bỏ qua.

Nếu không có mục nào hợp lệ, chỉ trả về No valid entries và dòng Skipped.

Code được cung cấp truyền mọi dòng đầu vào cho budget() và in ra từng dòng được trả về.

Tự làm thử

budget <- function(lines) {
  # 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")))
cat(budget(input), 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