Mô tả
Quán buffet lẩu nướng trên đường Nguyễn Trãi, quận 5, Sài Gòn siêu đông khách vào cuối tuần. Chủ quán muốn treo bảng LED hiển thị danh sách các món ăn dạng cuộn liên tục để thu hút thực khách.
Nhân viên thu ngân gõ danh sách món vào một dòng text duy nhất, dùng dấu phẩy để phân cách giữa các món. Do gõ vội, đôi khi giữa các dấu phẩy xuất hiện nhiều khoảng trắng dư thừa, hoặc có những phần trống không chứa tên món nào (do gõ nhầm hai dấu phẩy liền nhau).
Nhiệm vụ của bạn là viết một hàm giúp chủ quán làm sạch danh sách: tách từng tên món theo dấu phẩy, cắt bỏ khoảng trắng thừa ở hai đầu mỗi tên món, và loại bỏ các món rỗng. Nếu một món xuất hiện nhiều lần liền kề nhau thì chỉ giữ lại một lần để bảng LED không bị lặp vô nghĩa.
Đầu vào
Đầu vào là một chuỗi s chứa danh sách món ăn thô, gồm các chữ cái tiếng Việt, chữ số, khoảng trắng và dấu phẩy.
- Kiểu dữ liệu: chuỗi (string).
- Độ dài:
1 ≤ len(s) ≤ 1000.
Đầu ra
Trả về một danh sách (mảng) các chuỗi, mỗi phần tử là một tên món đã được chuẩn hóa, theo đúng thứ tự xuất hiện ban đầu và không có hai phần tử liền nhau trùng lặp.
Ràng buộc
1 ≤ len(s) ≤ 1000.- Mỗi tên món (sau khi cắt khoảng trắng) có độ dài không quá 100 ký tự.
- Tổng số token (bao gồm cả token rỗng) không vượt quá 200.
- Danh sách kết quả có ít nhất một phần tử (đảm bảo tồn tại ít nhất một tên món hợp lệ).
Ví dụ
Ví dụ 1:
Đầu vào: " Bò nướng , , Bò nướng , Mực tươi , Mực tươi ,Gân bò "
Giải thích từng bước:
- Tách theo dấu phẩy:
[" Bò nướng ", " ", " Bò nướng ", " Mực tươi ", " Mực tươi ", "Gân bò "]. - Cắt khoảng trắng và bỏ phần tử rỗng:
["Bò nướng", "Bò nướng", "Mực tươi", "Mực tươi", "Gân bò"]. - Gom các nhóm liền kề giống nhau:
["Bò nướng", "Mực tươi", "Gân bò"].
Đầu ra: ["Bò nướng", "Mực tươi", "Gân bò"].
Ví dụ 2:
Đầu vào: "Cơm cháy"
Giải thích: Không có dấu phẩy, chỉ một món duy nhất, không cần gom trùng.
Đầu ra: ["Cơm cháy"].