[Buổi 20][Chuỗi][Lab] Bài 2: Parse TNUT Code
Parse TNUT Code
Bối cảnh
Mã dữ liệu có format SCHOOL-BATCH-ID, ví dụ TNUT-K62-001.
Hãy dùng find/substr để tách ba phần; nếu không có đủ hai dấu - hoặc có field rỗng thì INVALID.
Yêu cầu
- Tìm dấu '-' thứ nhất.
- Tìm dấu '-' thứ hai sau vị trí thứ nhất.
- Kiểm tra
string::nposvà field rỗng. - Nếu hợp lệ, in
school batch id; ngược lại inINVALID.
Input
Một dòng chứa code, không có khoảng trắng.
Output
Một dòng kết quả.
Ràng buộc
1 ≤ |code| ≤ 200.
Ví dụ 1
Input
TNUT-K62-001
Output
TNUT K62 001
Giải thích
Chuỗi TNUT-K62-001 có hai dấu -, chia dữ liệu thành ba phần. find() xác định vị trí delimiter thứ nhất và thứ hai; substr() lấy lần lượt TNUT, K62, 001. Ba field được in cách nhau bằng khoảng trắng nên output là TNUT K62 001.
Ví dụ 2
Input
ABC-2026-99
Output
ABC 2026 99
Giải thích
Với ABC-2026-99, cùng một logic find/substr cho ba field ABC, 2026, 99. Ví dụ cho thấy parser không phụ thuộc riêng tiền tố TNUT mà chỉ phụ thuộc cấu trúc ba trường tách bằng dấu -.
Thông tin học tập
- Module: M06
- Buổi: B20
- Loại bài: LAB
- Độ khó: Medium
- Concepts: string find, substr, npos, delimiter parsing
- Giới hạn kiến thức: B01-B20
- Time limit: 1 second(s)
- Memory limit: 256 MB
- Point: 100
Comments