นี่คือสิ่งที่ตรงกันข้ามของLet's do "deciph4r4ng"
ในความท้าทายนี้งานของคุณคือการเข้ารหัสสตริง โชคดีที่อัลกอริทึมนั้นค่อนข้างง่าย: การอ่านจากซ้ายไปขวาอักขระการเขียนทั่วไปแต่ละตัว (ASCII ช่วง 32-126) จะต้องถูกแทนที่ด้วยตัวเลขN (0-9) เพื่อระบุว่ามันเหมือนกับตัวอักษรN + 1ตำแหน่งก่อนหน้า ข้อยกเว้นคือเมื่อตัวละครไม่ปรากฏภายใน 10 ตำแหน่งก่อนหน้าในสตริงเดิม ในกรณีนี้คุณควรพิมพ์อักขระอีกครั้ง อย่างมีประสิทธิภาพคุณควรจะสามารถย้อนกลับการดำเนินการจากความท้าทายเดิม
ตัวอย่าง
สตริงอินพุต"Programming"
จะถูกเข้ารหัสด้วยวิธีนี้:
"Prog2am0in6"
ดังนั้นการส่งออกที่คาดว่าจะเป็น
คำอธิบายและกฎ
- สตริงอินพุตจะมีอักขระ ASCII ในช่วง 32 - 126 เท่านั้น คุณสามารถสันนิษฐานได้ว่ามันจะไม่มีวันว่างเปล่า
- สายเดิมรับประกันว่าจะไม่มีตัวเลขใด ๆ
- เมื่อตัวละครได้รับการเข้ารหัสมันอาจจะถูกอ้างอิงโดยตัวเลขที่ตามมา ยกตัวอย่างเช่นควรได้รับการเข้ารหัสเป็น
"alpaca"
"alp2c1"
- การอ้างอิงจะไม่ล้อมรอบสตริง: สามารถอ้างอิงอักขระก่อนหน้าเท่านั้น
- คุณสามารถเขียนโปรแกรมเต็มรูปแบบหรือฟังก์ชั่นซึ่งพิมพ์หรือส่งออกผลลัพธ์
- นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุดเป็นไบต์ชนะ
- ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม
กรณีทดสอบ
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.