Ôn tập: bảng xếp hạng
Thuộc phần Logic và luồng thực thi trong hành trình Swift của Coddy. Bài học 32 trên 56.
Thử thách
Trung bìnhBạn đang tạo bảng xếp hạng. Đọc một dòng đầu vào: danh sách các mục name:score được phân tách bằng dấu phẩy. Một số mục có điểm không phải số nguyên và cần được bỏ qua (dùng compactMap).
In ba người chơi đứng đầu theo điểm giảm dần, mỗi người trên một dòng, theo định dạng:
<rank>. <name> - <score>Thứ hạng bắt đầu từ 1. Nếu hòa điểm, xếp theo tên thứ tự bảng chữ cái. Nếu có ít hơn ba mục hợp lệ, hãy in tất cả.
Sau bảng xếp hạng, in Avg: <n> với điểm trung bình nguyên của mọi điểm hợp lệ (làm tròn về 0, không có chữ số thập phân). Nếu không có mục hợp lệ nào, in Avg: 0.
Với đầu vào alice:90,bob:bad,cara:85,dan:90,eve:70,fin:99, đầu ra là:
1. fin - 99
2. alice - 90
3. dan - 90
Avg: 86Tự làm thử
let entries = readLine()!.components(separatedBy: ",")
// TODO: dùng compactMap để tạo (name, score); sắp xếp theo score giảm dần, nếu bằng nhau thì theo name;
// in ra 3 mục đầu tiên; sau đó tính trung bình của tất cả score hợp lệ
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ịchTự luyện tập: Playground Swift