क्या आपको उन विस्फोट-दृश्य आरेखों से प्यार नहीं है जिनमें एक मशीन या वस्तु को उसके सबसे छोटे टुकड़ों में ले जाया जाता है?
चलो एक स्ट्रिंग करने के लिए!
चुनौती
एक कार्यक्रम या फ़ंक्शन लिखें
- इनपुट केवल स्ट्रिंग करने योग्य ASCII वर्ण युक्त एक इनपुट ;
- गैर-अंतरिक्ष समान वर्णों के समूहों में स्ट्रिंग को विच्छेदित करता है (स्ट्रिंग के "टुकड़े");
- समूहों के बीच कुछ विभाजक के साथ उन समूहों को किसी भी सुविधाजनक प्रारूप में आउटपुट करता है ।
उदाहरण के लिए, स्ट्रिंग दी गई है
Ah, abracadabra!
आउटपुट निम्न समूह होंगे:
! , ए aaaaa bb सी घ ज rr
आउटपुट में प्रत्येक समूह में समान वर्ण होते हैं, जिसमें रिक्त स्थान हटा दिए जाते हैं। समूहों के बीच विभाजक के रूप में एक नई रेखा का उपयोग किया गया है। नीचे दिए गए प्रारूप के बारे में अधिक जानकारी।
नियम
इनपुट एक स्ट्रिंग या वर्ण की एक सरणी होना चाहिए। इसमें केवल मुद्रण योग्य ASCII चार्ट (अंतरिक्ष से टिल्ड के लिए समावेशी रेंज) शामिल होंगे। यदि आपकी भाषा उस का समर्थन नहीं करती है, तो आप ASCII कोड का प्रतिनिधित्व करने वाले नंबरों के रूप में इनपुट ले सकते हैं।
आप मान सकते हैं कि इनपुट में कम से कम एक गैर-स्थान वर्ण है ।
उत्पादन होने चाहिए वर्ण (इनपुट ASCII कोड के माध्यम से है, भले ही)। समूहों के बीच एक स्पष्ट विभाजक होना चाहिए , जो कि इनपुट में दिखाई देने वाले किसी भी गैर-अंतरिक्ष चरित्र से अलग हो सकता है।
यदि आउटपुट फ़ंक्शन रिटर्न के माध्यम से होता है, तो यह एक सरणी या स्ट्रिंग्स भी हो सकता है, या चार्ट की सरणियों का एक सरणी, या इसी तरह की संरचना हो सकती है। उस मामले में संरचना आवश्यक अलगाव प्रदान करती है।
प्रत्येक समूह के पात्रों के बीच एक विभाजक वैकल्पिक है । यदि एक है, तो एक ही नियम लागू होता है: यह एक गैर-अंतरिक्ष वर्ण नहीं हो सकता है जो इनपुट में दिखाई दे सकता है। इसके अलावा, यह समूहों के बीच उपयोग किए गए समान विभाजक नहीं हो सकता है।
इसके अलावा, प्रारूप लचीला है। यहाँ कुछ उदाहरण हैं:
समूहों को नई कहानियों द्वारा अलग किए गए तार हो सकते हैं, जैसा कि ऊपर दिखाया गया है।
समूहों को किसी भी गैर-एएससीआईआई चरित्र द्वारा अलग किया जा सकता है, जैसे कि
¬
। उपरोक्त इनपुट के लिए आउटपुट स्ट्रिंग होगा:!¬,¬A¬aaaaa¬bb¬c¬d¬h¬rr
समूहों को n > 1 स्थान से अलग किया जा सकता है (भले ही n परिवर्तनशील हो), प्रत्येक समूह के बीच एक एकल स्थान द्वारा अलग किए गए वर्णों के साथ:
! , A a a a a a b b c d h r r
आउटपुट एक सरणी या किसी फ़ंक्शन द्वारा लौटाए गए तारों की सूची भी हो सकती है:
['!', 'A', 'aaaaa', 'bb', 'c', 'd', 'h', 'rr']
या चार सरणियों की एक सरणी:
[['!'], ['A'], ['a', 'a', 'a', 'a', 'a'], ['b', 'b'], ['c'], ['d'], ['h'], ['r', 'r']]
नियमों के अनुसार, जिन स्वरूपों की अनुमति नहीं है, उनके उदाहरण:
- अल्पविराम का उपयोग विभाजक (
!,,,A,a,a,a,a,a,b,b,c,d,h,r,r
) के रूप में नहीं किया जा सकता है , क्योंकि इनपुट में अल्पविराम हो सकते हैं। - इसे समूहों के बीच विभाजक को छोड़ना स्वीकार नहीं है (
!,Aaaaaabbcdhrr
या समूहों के भीतर और समूहों के बीच एक ही विभाजक का उपयोग करना! , A a a a a a b b c d h r r
)।
समूह आउटपुट में किसी भी क्रम में दिखाई दे सकते हैं । उदाहरण के लिए: वर्णमाला क्रम (ऊपर दिए गए उदाहरणों में), स्ट्रिंग में पहली उपस्थिति का क्रम, ... आदेश को सुसंगत या नियतात्मक नहीं होना चाहिए।
ध्यान दें कि इनपुट न्यू लाइन वर्ण नहीं हो सकते हैं, और A
और a
विभिन्न चरित्र (समूह है मामला-sentitive )।
बाइट्स में सबसे छोटा कोड जीतता है।
परीक्षण के मामलों
प्रत्येक परीक्षण के मामले में, पहली पंक्ति इनपुट है, और शेष लाइनें आउटपुट हैं, जिसमें प्रत्येक समूह एक अलग लाइन में है।
टेस्ट केस 1:
आह, अब्रकदबरा! ! , ए aaaaa bb सी घ ज rr
टेस्ट केस 2:
\ O / \ o / \ o / /// \\\ OOO
टेस्ट केस 3:
एक आदमी, एक योजना, एक नहर: पनामा! ! ,, : ए पी aaaaaaaaa सी डालूँगा मिमी NNNN पी
टेस्ट केस 4:
"मुझे दिखाओ कि तुम उस चाल को कैसे करते हो, जो मुझे चिल्लाती है" उसने कहा "" , एस aaaaa सीसी dd eeeeeee hhhhhh ii के.के. mmmm n ooooo rr ssss tttttt यू ww y