Xử lý chuỗi
Mô tả
Trung tâm vận hành mạng của Viettel quản lý hàng nghìn trạm phát sóng trên cả nước. Hệ thống giám sát AI ghi nhận trạng thái hoạt động của từng trạm theo từng phút rồi ghép lại thành một chuỗi báo cáo dài. Ví dụ, một trạm trong 6 phút liên tục có trạng thái AAAAAA (An toàn), sau đó 4 phút NNNN (Nghỉ) thì chuỗi báo cáo sẽ là AAAAAANNNN.
Vì các trạng thái lặp liên tiếp không mang thêm thông tin mới, kỹ sư muốn rút gọn mỗi cụm trạng thái giống nhau liền nhau về đúng một ký tự đại diện. Như vậy AAAAAANNNN trở thành AN, và AABBCCDD trở thành ABCD. Nhiệm vụ của bạn là viết chương trình nhận vào một chuỗi trạng thái và trả về chuỗi đã rút gọn.
Đầu vào
- Một chuỗi
sgồm các chữ cái in hoa (AđếnZ), không chứa khoảng trắng hay ký tự khác.
Đầu ra
- Trả về một chuỗi là dạng rút gọn của
s, trong đó mọi nhóm ký tự giống nhau liên tiếp được thu gọn thành một ký tự duy nhất, giữ nguyên thứ tự xuất hiện.
Ràng buộc
- Độ dài chuỗi
nthoả mãn1 ≤ n ≤ 10^6. - Mỗi ký tự trong chuỗi là một chữ cái in hoa từ
AđếnZ.
Ví dụ
Ví dụ 1
- Đầu vào:
AAAAAANNNN - Đầu ra:
AN - Giải thích: Sáu ký tự
Aliên tiếp thu gọn còn mộtA, bốn ký tựNliên tiếp thu gọn còn mộtN. Kết quả làAN.
Ví dụ 2
- Đầu vào:
ABBCDDDD - Đầu ra:
ABCD - Giải thích:
Ađứng một mình,BBgọn cònB,Cđứng một mình,DDDDgọn cònD. Thứ tự các nhóm được giữ nguyên nên kết quả là .