[Buổi 20][Chuỗi][WS] Bài 1: Data Normalizer
Data Normalizer
Bối cảnh
Một record có format name|code. Cả hai field có thể chứa whitespace thừa; tên có case lộn xộn.
Hãy tạo một normalizer nhỏ để xuất dữ liệu thống nhất.
Yêu cầu
- Đọc cả dòng.
- Tìm delimiter
|; nếu không có hoặc một field rỗng sau trim/normalize, in INVALID. - Chuẩn hóa name về Title Case.
- Chuẩn hóa code: bỏ whitespace đầu/cuối và chuyển thành uppercase.
- In
normalizedName|NORMALIZEDCODE.
Input
Một dòng raw record.
Output
INVALID hoặc record đã chuẩn hóa.
Ràng buộc
1 ≤ |line| ≤ 500; dữ liệu ASCII cơ bản.
Ví dụ 1
Input
nGUYEN van an | k62-001
Output
Nguyen Van An|K62-001
Giải thích
Phần trước | là tên nGUYEN van an, được trim, gom khoảng trắng và Title Case thành Nguyen Van An. Phần sau là mã k62-001, được chuẩn hóa uppercase thành K62-001. Hai state đã làm sạch được ghép lại bằng đúng một dấu |, tạo output Nguyen Van An|K62-001.
Ví dụ 2
Input
Le thi B|tnut42
Output
Le Thi B|TNUT42
Giải thích
Input có tên Le thi B và mã tnut42. Tên được chuẩn hóa thành Le Thi B; mã được chuyển toàn bộ sang uppercase thành TNUT42. Không có khoảng trắng thừa quanh delimiter sau pipeline, nên output là Le Thi B|TNUT42.
Thông tin học tập
- Module: M06
- Buổi: B20
- Loại bài: WORKSHOP
- Độ khó: Medium
- Concepts: getline, string normalization, find, substr, cctype, validation
- Giới hạn kiến thức: B01-B20
- Time limit: 2 second(s)
- Memory limit: 256 MB
- Point: 100
Comments