Ôn tập: hàng tồn kho
Thuộc phần Logic và luồng thực thi trong hành trình Swift của Coddy. Bài học 17 trên 56.
Thử thách
Trung bìnhBạn đang theo dõi hàng tồn kho của cửa hàng. Đọc một dòng đầu vào: danh sách các thao tác, phân tách bằng dấu phẩy, áp dụng cho [String: Int] ban đầu rỗng có tên stock. Mỗi thao tác thuộc một trong các dạng sau:
in:<item>:<qty>cộng số lượng vào mặt hàng (dùng mẫu chỉ mục mặc định)out:<item>:<qty>trừ số lượng. Nếu số lượng còn lại là0hoặc nhỏ hơn, hãy xóa khóa đó hoàn toàn.
Sau khi áp dụng tất cả thao tác, hãy in ra:
- Mỗi mặt hàng còn lại trên một dòng, sắp xếp theo thứ tự bảng chữ cái, theo định dạng
<item>: <qty> Total units: <n>tính tổng tất cả giá trị còn lại
Với đầu vào in:apple:5,in:bread:2,out:apple:3,in:apple:4,out:bread:5, đầu ra là:
apple: 6
Total units: 6Tự làm thử
let ops = readLine()!.components(separatedBy: ",")
var stock: [String: Int] = [:]
// TODO: phân tích từng op theo dạng kind:item:qty; in thì cộng, out thì trừ;
// xóa các khóa có qty giảm xuống <= 0; in các dòng đã sắp xếp và tổng cộng
Tất cả bài học trong Logic và luồng thực thi
1Chuỗi chuyên sâu
Đếm và chỉ sốChữ hoa, chữ thường và xóa khoảng trắngTìm kiếm trong chuỗiTách và nối chuỗiThay thế chuỗi conÔn tập: Kiểm tra tên người dùng4Tập hợp
Tạo tập hợpPhép hợp và phép giaoPhép trừ và hiệu đối xứngTập con và tập hợp conÔn tập: Bộ lọc thẻ7Dự án: Theo dõi thói quen
Tổng quan dự ánĐánh dấu hoàn thành10Dự án: bộ máy trắc nghiệm
Tổng quan dự ánĐặt câu hỏi2Phạm vi và bước nhảy
Khoảng đóng và khoảng nửa mởBước nhảyPhương thức của phạm viPhạm vi trong switchÔn tập: Lưới lịch3Từ điển
Khai báo từ điểnTra cứu tùy chọnCập nhật từ điểnDuyệt từ điểnNhóm giá trịÔn tập: hàng tồn khoTự luyện tập: Playground Swift