Mô tả
Cô Lan mở tiệm điện thoại nhỏ trên đường Lê Lai, mỗi ngày cô phải kích hoạt rất nhiều sim cho khách. Hệ thống đầu số Vinaphone hay thay đổi, nên cô luôn giữ sẵn một danh sách các đầu số hợp lệ do nhà mạng cập nhật. Khi khách mang sim tới, cô chỉ cần nhìn ba hoặc bốn chữ số đầu tiên là biết ngay sim đó có thuộc mạng Vinaphone hay không.
Nhiệm vụ của bạn là viết một hàm nhận vào số điện thoại (dạng chuỗi) và danh sách các đầu số Vinaphone hợp lệ. Trả về true nếu số điện thoại bắt đầu bằng ít nhất một đầu số trong danh sách, ngược lại trả về false. Lưu ý: khách hàng thường nhập dư dấu cách ở đầu hoặc cuối, bạn cần loại bỏ trước khi kiểm tra. Nếu số điện thoại sau khi cắt khoảng trắng ngắn hơn mọi đầu số thì chắc chắn không khớp.
Đầu vào
phone(chuỗi): số điện thoại khách hàng nhập, có thể chứa khoảng trắng ở hai đầu. Độ dài từ 0 đến 20 ký tự.prefixes(mảng chuỗi): danh sách các đầu số Vinaphone hợp lệ, mỗi đầu số dài từ 2 đến 4 ký tự, chỉ chứa chữ số. Số lượng đầu số từ 1 đến 50.
Đầu ra
- Trả về
truenếu số điện thoại (sau khi cắt khoảng trắng) bắt đầu bằng một đầu số bất kỳ trongprefixes, ngược lại trả vềfalse.
Ràng buộc
- Độ dài
phonetừ 0 đến 20 ký tự (chưa cắt khoảng trắng). - Số lượng
prefixestừ 1 đến 50. - Mỗi đầu số dài từ 2 đến 4 ký tự, chỉ chứa chữ số từ '0' đến '9'.
phonechỉ chứa chữ số và khoảng trắng ở hai đầu (không có khoảng trắng ở giữa).
Ví dụ
Ví dụ 1:
- Đầu vào:
" 0912345678 ",["091", "081", "082", "083", "084", "085", "088"] - Đầu ra:
true - Giải thích: Cắt khoảng trắng được "0912345678". Ba ký tự đầu là "091", nằm trong danh sách đầu số Vinaphone, nên kết quả là
true.
Ví dụ 2:
- Đầu vào:
"0398765432",["091", "081", "082", "083"] - Đầu ra:
false - Giải thích: Ba ký tự đầu là "039", không có trong danh sách đầu số, nên kết quả là
false.