यह "कुछ ख़राब कर देना" का विलोम है
इस चुनौती में, अपने काम के लिए एक स्ट्रिंग encipher है। सौभाग्य से, एल्गोरिथ्म बहुत सरल है: बाएं से दाएं पढ़ना, प्रत्येक विशिष्ट लेखन चरित्र (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.