Đây là nghịch đảo của Hãy thực hiện một số "deciph4r4ng"
Trong thử thách này, nhiệm vụ của bạn là mã hóa một chuỗi. May mắn thay, thuật toán khá đơn giản: đọc từ trái sang phải, mỗi ký tự viết điển hình (phạm vi ASCII 32-126) phải được thay thế bằng số N (0-9) để chỉ ra rằng nó giống với ký tự N + 1 vị trí trước nó. Ngoại lệ là khi ký tự không xuất hiện trong 10 vị trí trước đó trong chuỗi gốc. Trong trường hợp đó, bạn chỉ cần in lại ký tự. Hiệu quả, bạn sẽ có thể đảo ngược hoạt động từ thách thức ban đầu.
Thí dụ
Chuỗi đầu vào "Programming"
sẽ được mã hóa theo cách này:
Do đó, sản lượng dự kiến là "Prog2am0in6"
.
Làm rõ và quy tắc
- Chuỗi đầu vào sẽ chứa các ký tự ASCII trong phạm vi 32 - 126. Bạn có thể cho rằng nó sẽ không bao giờ trống rỗng.
- Chuỗi ban đầu được đảm bảo không chứa bất kỳ chữ số nào.
- Khi một ký tự đã được mã hóa, nó có thể lần lượt được tham chiếu bằng một chữ số tiếp theo. Ví dụ,
"alpaca"
nên được mã hóa thành"alp2c1"
. - Tài liệu tham khảo sẽ không bao giờ bao quanh chuỗi: chỉ các ký tự trước có thể được tham chiếu.
- Bạn có thể viết một chương trình đầy đủ hoặc một chức năng, trong đó in hoặc xuất kết quả.
- Đây là mã golf, vì vậy câu trả lời ngắn nhất trong byte thắng.
- Sơ hở tiêu chuẩn bị cấm.
Các trường hợp thử nghiệm
Input : abcd
Output: abcd
Input : aaaa
Output: a000
Input : banana
Output: ban111
Input : Hello World!
Output: Hel0o W2r5d!
Input : this is a test
Output: this 222a19e52
Input : golfing is good for you
Output: golfin5 3s24o0d4f3r3y3u
Input : Programming Puzzles & Code Golf
Output: Prog2am0in6 Puz0les7&1Cod74G4lf
Input : Replicants are like any other machine. They're either a benefit or a hazard.
Output: Replicants 4re3lik448ny3oth8r5mac6in8.8T64y'r371it9376a1b5n1fit7or2a1h2z17d.