Mô tả
Tòa nhà văn phòng đang rộn ràng tiếng bàn luận của nhóm phát triển ứng dụng ZaloPay. Sếp nhóm vừa thông báo: mỗi khi người dùng gửi phản hồi lỗi, hệ thống sẽ tự động đính kèm chuỗi phiên bản ứng dụng do chính thiết bị đó báo cáo. Trớ trêu thay, một số điện thoại cũ đã được "root" hoặc "jailbreak" lại gửi lên những chuỗi kỳ dị, khiến máy chủ phân tích lỗi hoang mang.
Sếp nhờ bạn viết một hàm kiểm tra nhỏ gọn nhưng chính xác. Một chuỗi được xem là hợp lệ khi thoả mãn đồng thời các điều kiện sau:
- Chuỗi không rỗng.
- Gồm nhiều nhất ba thành phần phân tách bởi dấu chấm
.. - Mỗi thành phần là một chuỗi chỉ chứa chữ số (
0–9), độ dài từ 1 đến 3 ký tự. - Giá trị số của mỗi thành phần nằm trong khoảng từ 0 đến 999.
Các trường hợp như chuỗi rỗng, dấu chấm liền nhau, thành phần rỗng, chứa chữ cái, có khoảng trắng, hoặc có dấu chấm ở đầu/cuối đều không hợp lệ.
Đầu vào
- Một chuỗi
versionkiểu dữ liệu chuỗi, đại diện cho phiên bản do thiết bị gửi lên.
Đầu ra
- Trả về
truenếu chuỗi hợp lệ, ngược lại trả vềfalse.
Ràng buộc
1 ≤ độ dài chuỗi ≤ 50.- Chuỗi chỉ có thể chứa chữ cái, chữ số, dấu chấm và khoảng trắng.
Ví dụ
Ví dụ 1
- Đầu vào:
"2.14.3" - Đầu ra:
true
Giải thích: Chuỗi có đúng ba thành phần: 2, 14 và 3. Cả ba đều là chữ số nguyên không âm trong khoảng 0–999, không chứa chữ cái hay khoảng trắng, nên hợp lệ.
Ví dụ 2
- Đầu vào:
"1.0" - Đầu ra:
true
Giải thích: Hai thành phần 1 và 0 đều hợp lệ. Chuỗi có hai hay ba thành phần đều được chấp nhận.