[Buổi 21][Xử lý chuỗi][WS] Bài 1: Text Processing Pipeline
Text Processing Pipeline
Bối cảnh
Một dòng mô tả tag có thể chứa case và whitespace lộn xộn. Mỗi token hợp lệ chỉ gồm chữ cái.
Pipeline cần clean, tokenize, validate, lowercase và tạo báo cáo tần suất.
Yêu cầu
- Đọc cả dòng và tách theo whitespace.
- Nếu có token chứa ký tự không phải chữ cái, in INVALID.
- Lowercase mọi token.
- Đếm tổng token, số token khác nhau và tần suất từng token.
- In dòng đầu
total distinct. - Tiếp theo in
token counttheo thứ tự tăng của token.
Input
Một dòng.
Output
INVALID hoặc report.
Ràng buộc
0 ≤ |line| ≤ 3000; token ASCII.
Ví dụ 1
Input
Dev dev Cpp DEV
Output
4 2
cpp 1
dev 3
Giải thích
Có 4 token; sau lowercase chỉ còn 2 token khác nhau: cpp=1, dev=3.
Ví dụ 2
Input
one two one
Output
3 2
one 2
two 1
Giải thích
Có 3 token và 2 token khác nhau: one=2, two=1.
Thông tin học tập
- Module: M06
- Buổi: B21
- Loại bài: WORKSHOP
- Độ khó: Medium
- Concepts: pipeline, normalization, tokenization, validation, map frequency, reporting
- Giới hạn kiến thức: B01-B21
- Time limit: 2 second(s)
- Memory limit: 256 MB
- Point: 100
Comments