Mô tả
Tại phòng kế toán VNPT, hàng ngày chị Hạnh phải xử lý hàng nghìn biên lai gửi lên từ các trạm giao dịch. Máy quét mã vạch đôi khi nhận diện sai, chèn thêm những ký tự rác như dấu chấm, dấu phẩy hay khoảng trắng vào giữa mã tài khoản khách hàng.
Để mã tài khoản hợp lệ, chị Hạnh có một danh sách các vị trí (đánh số thứ tự từ 0) phát hiện ký tự rác. Nhiệm vụ của bạn là viết một hàm nhận vào chuỗi mã ban đầu và danh sách vị trí cần xóa, sau đó trả về chuỗi mã đã được làm sạch hoàn toàn.
Quan trọng: Vì việc xóa một ký tự sẽ làm dịch chuyển các ký tự phía sau, bạn cần xóa từ từ nhưng vẫn giữ đúng các ký tự gốc ban đầu ở đúng các vị trí đã chỉ định.
Đầu vào
s(chuỗi): Mã tài khoản ban đầu, gồm các ký tự chữ cái và chữ số, độ dài từ 1 đến 1000 ký tự.positions(mảng số nguyên): Danh sách các vị trí cần xóa, mỗi giá trị là số nguyên không âm duy nhất trong khoảng từ 0 đến len(s)-1. Mảng có thể rỗng.
Đầu ra
- Trả về một chuỗi là kết quả sau khi đã xóa toàn bộ ký tự tại các vị trí trong
positions.
Ràng buộc
- 1 ≤ len(s) ≤ 1000
- 0 ≤ len(positions) ≤ len(s)
- Mọi giá trị trong
positionslà duy nhất và nằm trong khoảng [0, len(s)-1].
Ví dụ
Giải thích: Từ chuỗi s = "AB.CD,E", ta cần xóa các ký tự tại vị trí 2 và 5. Ký tự tại vị trí 2 là dấu chấm '.', ký tự tại vị trí 5 là dấu phẩy ','. Sau khi xóa hai vị trí này, ta được kết quả "ABCDE".