在这个挑战中,您的任务是加密字符串。幸运的是,该算法非常简单:从左向右读取,每个典型的书写字符(ASCII范围32-126)必须替换为数字N(0-9),以表示它与字符N + 1相同之前的位置。例外是该字符未出现在原始字符串的前10个位置内。在这种情况下,您只需简单地再次打印字符。有效地,您应该能够从原始挑战中撤消操作。
例
输入字符串"Programming"
将以这种方式编码:
因此,预期输出为"Prog2am0in6"
。
澄清和规则
- 输入字符串将仅包含32-126范围内的ASCII字符。您可以假设它永远不会为空。
- 保证原始字符串不包含任何数字。
- 字符一旦被编码,就可以由随后的数字来引用。例如,
"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.