इनपुट
एक गैर-खाली एन्कोडेड स्ट्रिंग, जिसमें मुद्रण योग्य ASCII वर्ण (32-12 रेंज में) होते हैं, जहां कुछ लापता अक्षरों को बदल दिया गया है _
।
उत्पादन
लापता लोगों सहित लोअरकेस में सभी अक्षरों के साथ एक ही लंबाई का एक डिकोड्ड स्ट्रिंग।
कैसे?
संपादित करें: जैसा कि @Deusovi द्वारा टिप्पणियों में उल्लेख किया गया है, यह बेकन के सिफर का एक प्रकार है ।
- सभी पत्रों को मूल स्ट्रिंग में इकट्ठा करें और उन्हें 5 से समूह दें। 5 के पूर्ण समूह में फिट नहीं होने वाले अतिरिक्त पत्रों को अनदेखा किया जाता है।
- प्रत्येक समूह को बाइनरी में कनवर्ट करें: लोअरकेस = 0 , अपरकेस = 1 । यह पूर्णांक की एक सूची की ओर जाता है।
- उपस्थिति के क्रम में वर्णमाला (0-अनुक्रमित) के एन- वें अक्षर के साथ मूल स्ट्रिंग में प्रत्येक को बदलने के लिए इस सूची में प्रत्येक मान एन का उपयोग करें ।
_
उदाहरण: prOGraMMIng PuZZleS & cOde ____
prOGr --> 00110 --> 6 --> 7th letter = 'g'
aMMIn --> 01110 --> 14 --> 15th letter = 'o'
gPuZZ --> 01011 --> 11 --> 12th letter = 'l'
leScO --> 00101 --> 5 --> 6th letter = 'f'
लापता पत्रों को बदलने और सब कुछ वापस लोअरकेस में बदलने से, मूल स्ट्रिंग का अनावरण किया जाता है:
programming puzzles & code golf
यह अपेक्षित आउटपुट है।
स्पष्टीकरण और नियम
- गायब अक्षरों को स्ट्रिंग के अंत में दिखाई देने की गारंटी है। औपचारिक रूप से:
_
इनपुट स्ट्रिंग में पहले के बाद कोई अक्षर नहीं होगा । हालाँकि, अन्य मुद्रण योग्य ASCII वर्ण हो सकते हैं जैसे रिक्त स्थान और विराम चिह्न। - इनपुट की गारंटी है कि किसी भी बेकार पूंजी पत्र को शामिल नहीं किया जाना चाहिए : सभी कैपिटल अक्षरों को 1 पर सेट किया जाता है जो लापता अक्षरों को डीकोड करने के लिए आवश्यक होते हैं। बाकी सब लोअरकेस में है।
- इनपुट स्ट्रिंग मान्य होने की गारंटी है। विशेष रूप से:
- इसमें अंडरस्कोर को डिकोड करने के लिए हमेशा 5 अक्षरों के पर्याप्त समूह होंगे।
- बाइनरी-एन्कोडेड पूर्णांकों की सीमा [0-25] में होने की गारंटी है ।
_
इनपुट स्ट्रिंग में कुछ भी नहीं हो सकता है , जिस स्थिति में आपको इनपुट वापस करना होगा।- यह कोड-गोल्फ है , इसलिए बाइट्स में सबसे कम जवाब जीतता है!
परीक्षण के मामलों
Input : hello!
Output: hello!
Input : helLO, worl_!
Output: hello, world!
Input : i aM yoUr faTh__.
Output: i am your father.
Input : prOGraMMIng PuZZleS & cOde ____
Output: programming puzzles & code golf
Input : Can YOu gUesS tHE ENd oF This ____?
Output: can you guess the end of this text?
Input : THe qUICk brown FOx JUMps oVEr the la__ ___.
Output: the quick brown fox jumps over the lazy dog.
Input : RoadS? wHERe we're goinG WE doN't need _____.
Output: roads? where we're going we don't need roads.
Input : thE greatESt Trick thE DeVIl EVer PUllEd wAs CONvInciNg tHe WorLD h_ ____'_ _____.
Output: the greatest trick the devil ever pulled was convincing the world he didn't exist.
कुछ अतिरिक्त परीक्षण-मामले:
Input : BInar_
Output: binary
Input : 12 MonKey_
Output: 12 monkeys
Input : hyPerbolIZ__
Output: hyperbolized
Input : {[One Last Test ca__]}
Output: {[one last test case]}
_
इनपुट स्ट्रिंग में नहीं है , तो एक विशेष मामले का एक सा है।
The input is guaranteed not to contain any useless capital letter
, यदि कोई अंडरस्कोर नहीं है, तो कैपिटल लेटर भी नहीं होगा।
[32-126]
। मैंने एक और टेस्ट केस जोड़ा है।