C7-09 · Nén chuỗi
Xem dạng PDF
Gửi bài giải
Điểm:
1,00
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Tác giả:
Nguồn bài:
Dạng bài
Ngôn ngữ cho phép
Python
Nguồn: Bài C7-09, mục 7.10, giáo trình Lập trình cơ sở với Python — TS. Nguyễn Quốc Long.
Đề
Cho một chuỗi chữ cái. Thay mỗi nhóm ký tự giống nhau đứng liên tiếp bằng số lần lặp rồi đến ký tự đó (cách nén "run-length"). Nhóm chỉ có một ký tự vẫn ghi số 1. Chữ hoa và chữ thường là hai ký tự khác nhau.
Đừng quên nhóm cuối cùng của chuỗi.
Dữ liệu vào
Một dòng chứa chuỗi ~s~.
Kết quả
Một dòng chứa chuỗi đã nén.
Ràng buộc
- ~1 \le |s| \le 200~.
- ~s~ chỉ gồm chữ cái
a–z,A–Z.
Gợi ý
Duyệt theo chỉ số (mục 7.2), so s[i] với s[i - 1]: giống thì tăng bộ đếm, khác thì ghép str(dem) + s[i - 1] vào kết quả và đếm lại từ 1. Sau vòng lặp còn một nhóm chưa ghép.
Ví dụ 1
Dữ liệu vào:
AAAABBBCDDDDDDDDDDDD
Kết quả:
4A3B1C12D
Ví dụ 2
Dữ liệu vào:
aAAbbba
Kết quả:
1a2A3b1a
Giải thích ví dụ
- Ví dụ 1: bốn
A, baB, mộtC, mười haiDliên tiếp →4A3B1C12D. NhómCmột ký tự vẫn ghi1C; nhómDlà nhóm cuối. - Ví dụ 2:
athường vàAhoa là hai nhóm khác nhau; chữacuối cùng đứng riêng nên thành nhóm1amới (không cộng dồn vớiađầu chuỗi).
Nguồn trong sách: bài tập C7-09 (mục 7.10) · Mức: (***)
Đang tải...