इस चुनौती में दो भाग होते हैं। विजेता सबसे कम कुल बाइट गिनती के साथ समाधान होगा। दोनों चुनौतियों के लिए एक ही भाषा का उपयोग किया जाना चाहिए।
भाग 1:
एक फ़ंक्शन या प्रोग्राम लिखें जो इनपुट के रूप में केवल मान्य शब्दों के साथ एक वाक्य लेता है , और उपयोग किए गए वर्णों की एक सूची को आउटपुट करता है, प्रत्येक अक्षर का उपयोग करने की संख्या और मूल वाक्य में प्रत्येक शब्द में अक्षरों की संख्या। इस प्रोग्राम से आउटपुट अगले प्रोग्राम के लिए मान्य इनपुट होना चाहिए (जैसा कि यह आउटपुट है)
मैं उदाहरण और विस्तृत नियम आगे जोड़ूंगा।
भाग 2:
एक फ़ंक्शन या प्रोग्राम लिखें जो पहले प्रोग्राम से आउटपुट को इनपुट के रूप में लेता है और अंग्रेजी शब्दों की इस सूची का उपयोग करता है और आउटपुट से जानकारी के साथ एक वाक्य को फिर से बनाता है। मूल वाक्य के समान वाक्य का होना आवश्यक नहीं है।
अधिक जानकारी। नियम और प्रतिबंध:
भाग 1:
- पहला इनपुट किसी भी उपयुक्त प्रारूप पर हो सकता है, उद्धरण चिह्नों के साथ या बिना, फ़ंक्शन तर्क के रूप में या एसटीडीआईएन के साथ, ब्रैकेट आदि के साथ या बिना।
- अंत में एक अवधि / डॉट को छोड़कर इनपुट वाक्य में कोई विराम चिह्न या विशेष वर्ण नहीं होंगे। अवधि प्रतीक को छोड़कर, सभी वर्ण जो इनपुट में हैं, शब्द सूची में होंगे।
- सजा का पहला अक्षर ऊपरी मामला होगा, बाकी निचला मामला होगा।
- भाग 2 का आउटपुट मूल वाक्य के समान ऊपरी अक्षर से शुरू होना चाहिए (इसलिए इनपुट को निचले मामले में परिवर्तित करने की अनुशंसा नहीं की जाती है (लेकिन ठीक है)।
- आउटपुट किसी भी उपयुक्त प्रारूप पर हो सकता है:
- आउटपुट को अगले प्रोग्राम / फ़ंक्शन में सीधे कॉपी-पेस्ट करना संभव होगा
- कॉपी-पेस्ट करते समय कोई परिवर्तन नहीं किया जा सकता है, पूरे आउटपुट को कॉपी किया जाना चाहिए और एक पूरे के रूप में चिपकाया जाना चाहिए, भागों में नहीं।
- उदाहरण के लिए आप वर्णमाला के सभी अक्षरों का एक हिस्टोग्राम या केवल उपयोग किए जाने वाले (सामान्य रूप से, जो भी आवश्यक हो 2) को पूरा करने के लिए कर सकते हैं
- आप उन वर्णों की सूची को आउटपुट नहीं कर सकते हैं जहां कई बार पुनरावृत्तियां होती हैं। उदाहरण के लिए,
The queue
कोई आउटपुट नहीं दे सकता:,Teeehquu (3,5)
यह कुछ इस तरह होना चाहिएTehqu, (1 3 1 1 2),(3 5)
:।
भाग 2:
- प्रोग्राम / फ़ंक्शन को इनपुट को उसी तरह स्वीकार करना चाहिए जैसा कि भाग 1 (एक अपवाद है, फ़ाइल नाम इनपुट के रूप में लेने के बारे में नीचे टिप्पणी देखें)।
- यदि आसपास के कोष्ठक, उद्धरण चिह्न या इसी तरह के इनपुट को पार्स करने के लिए आवश्यक हैं, तो ये भाग 1 से आउटपुट का हिस्सा होना चाहिए।
- शब्द सूची यहां पाई जा सकती है।
- शब्द सूची को या तो स्थानीय रूप से सहेजा जा सकता है
w.txt
, या इसे url से प्राप्त किया जा सकता है। Url केवल 5 बाइट्स के रूप में गिना जाएगा, इसलिए आपको url-shortener की आवश्यकता नहीं है। - कार्यक्रम stdin से एक इनपुट के रूप नाम पढ़ने के बिना एक फ़ाइल नहीं खोल सकता है (मेरा मानना है कि यह
हैकि कम से कम Pyth के लिए मामला था), तो फ़ाइल नाम एक अलग इनपुट तर्क के रूप में लिया जा सकता है।
- शब्द सूची को या तो स्थानीय रूप से सहेजा जा सकता है
- आउटपुट केवल एक वाक्य (मान्य शब्दों की सूची) होना चाहिए, जो एक अवधि और एक वैकल्पिक न्यूलाइन के साथ समाप्त होगा।
- भाग 1 में (सही क्रम में) मूल वाक्य के समान ही अक्षरों में आउटपुट के साथ शब्द होने चाहिए
- मूल वाक्य में उपयोग किए गए सभी अक्षरों को नए आउटपुट में उपयोग किया जाना चाहिए।
- वाक्य को मूल इनपुट वाक्य के समान ऊपरी अक्षर से शुरू करना चाहिए और एक अवधि के साथ समाप्त होना चाहिए।
दोनों भाग:
- न तो भागों को निष्पादित करने के लिए 2 मिनट से अधिक समय लेना चाहिए (जब तक कि किसी समाधान तक नहीं पहुंच जाता है तब तक शब्दों को बाहर निकालना) स्वीकार नहीं किया जाता है।
ऊपर सूचीबद्ध नियमों के साथ, एक उचित मौका होना चाहिए कि ठीक उसी वाक्य को पुन: पेश किया जाए, हालांकि यह एक आवश्यकता नहीं है।
उदाहरण:
नीचे दिए गए उदाहरणों में, कुछ अलग इनपुट और आउटपुट प्रारूप दिखाए गए हैं। कई और स्वीकार किए जाते हैं।
भाग 1:
इनपुट:
Zulus win.
आउटपुट प्रकार 1:
Z i l n s u w
1 1 1 1 1 2 1
5 3
आउटपुट प्रकार 2:
(('Z',1),('i',1),('l',1),('n',1),('s',1),('u',2),('w',1)), (5,2)
आउटपुट प्रकार 3:
'Zilnsuuw',[1,1,1,1,1,2,1],[5,2]
भाग 2:
इनपुट: भाग 1 से आउटपुट की एक सटीक प्रतिलिपि। आउटपुट:
Zulus win.
ध्यान दें कि अन्य शब्द संयोजन तब तक स्वीकार किए जाते हैं जब तक वे एक से शुरू करते हैं Z
, और पहले शब्द में 5 अक्षर हैं और दूसरे में 3 हैं।
बाइट्स में सबसे छोटा कोड जीत जाता है।
f1
जो आउटपुट चिपकाया गया है उसमें f2
चुनौती में निर्दिष्ट सभी डेटा होने चाहिए। कोई अतिरिक्त डेटा आउटपुट का हिस्सा नहीं हो सकता है f1
। इससे f1
कॉल करते समय जानकारी उपलब्ध कराने में कोई डेटा "संग्रहीत" नहीं किया जा सकता है f2
। f1
प्रति कॉल इनपुट के रूप में केवल एक स्ट्रिंग ले सकते हैं।