जब बच्चे अपना मुंह खोलते हैं, तो वे सिर्फ छींटाकशी नहीं करते हैं। वे वास्तव में एक उच्च उन्नत, वयस्क प्रूफ सिफर में बात कर रहे हैं ...
द बेबी-टॉक सिपर
जब एक बच्चा बात करता है, तो यह कुछ ऐसा दिख सकता है जैसे gogooa gagooook aagaaoooy
प्रत्येक एकल-अंतरिक्ष अलग-अलग अनुभाग एक चरित्र का प्रतिनिधित्व करता है (इसलिए ऊपर दिया गया उदाहरण 3 वर्णों का प्रतिनिधित्व करता है)।
किसी अनुभाग को समझने के लिए, हमें अस और ओएस की संख्या की गणना करनी चाहिए। हालांकि, हम केवल उन लोगों को गिनते हैं जो दूसरे स्वर से सटे हैं। उदाहरण के लिए, 'गैग' में ए की गिनती नहीं होगी, लेकिन 'गॉग' में ए और ओ दोनों होंगे।
ऊपर दिए गए उदाहरण की गिनती इस तरह होगी:
Section | Num Os | Num As
gogooa | 2 | 1
gagooook | 4 | 0
aagaaoooy | 3 | 4
हम इन मानों का उपयोग इनपुट को पॉलीबीस स्क्वायर पर प्लेनटेक्स्ट में बदलने के लिए करते हैं। यह अंग्रेजी वर्णमाला का 5x5 प्रतिनिधित्व है, जो 'J' को छोड़ता है (कृपया ध्यान दें कि, बच्चे की बात में, 0-गिनती के नियम टेबल पर लागू होते हैं):
0 1 2 3 4
0 A B C D E
1 F G H I K
2 L M N O P
3 Q R S T U
4 V W X Y Z
स्तंभ के रूप में ओएस की संख्या और पंक्ति की तरह संख्या का उपयोग करके, हम पाते हैं कि प्रत्येक अनुभाग किस वर्ण का प्रतिनिधित्व करता है:
Section | Num Os | Num As | Character
gogooa | 2 | 1 | (2,1) -> H
gagooook | 4 | 0 | (4,0) -> E
aagaaoooy | 3 | 4 | (3,4) -> Y
जो हमें बताता है कि बच्चा "ही" कह रहा था।
नोट्स :
- यदि किसी वर्ण का प्रतिनिधित्व करने वाले खंड में 4 से अधिक या Os है, तो एक्स्ट्रा को अनदेखा करें, क्योंकि 4 टेबल पर अधिकतम मान है। - इस कार्य के लिए, वाई एक स्वर नहीं है - केवल ए, ई, आई, ओ और यू।
चुनौती
आपका कार्य एक पूर्ण कार्यक्रम बनाना है जो एक इनपुट लेता है, एक शब्द बेबी-स्पीक में, और उसे सादे में प्रिंट करता है।
- आपका प्रोग्राम अपरकेस, लोअरकेस, और दोनों के मिश्रण में इनपुट लेने में सक्षम होना चाहिए।
- इनपुट में केवल ASCII वर्णमाला अक्षर (AZ और az) होंगे, जिसमें शिशु शब्दों को अलग करने के लिए एकल स्थान होंगे।
- आउटपुट टेक्स्ट किसी भी स्थिति में हो सकता है।
- आपको इनपुट से लेना चाहिए
STDIN
और प्लेनटेक्स्ट को प्रिंट करना चाहिएSTDOUT
। यदि आपकी भाषा में ये नहीं हैं, तो निकटतम समकक्ष का उपयोग करें। - यह कोड-गोल्फ है , इसलिए बाइट्स में सबसे छोटा कोड जीतता है - लेकिन किसी भी समाधान का स्वागत है।
परीक्षण के मामलों
'GLOOG KAKAAOOO ARGOOO OOOOOGUGUU' -> CODE
'oaka pooopaa gaau augu' -> GOLF
'Aoao U oOOAoa oaoAoo aoAoAOa' -> NAPPY
'GUG gAGaA gOougOou' -> ALE
'OOaGOG GoGOOoGoU gAA bLAA GOUGoOUgAIGAI' -> HELLO
.toUpperCase()
समान फ़ंक्शन कॉल को जोड़ रहा है , वास्तव में उत्तेजक चुनौती नहीं है
gogooa
2 ओ का कैसे होता है? और gagooook
0 के पास कैसे है ?
FAG
: P
'GUG gAGaA gOougOou' -> 'ALE'
बच्चे पीते हैं एले? : डी