चुनौती:
केवल ऊपरी और / या निचले अक्षरों (जो भी आप पसंद करते हैं) युक्त एक स्ट्रिंग को देखते हुए, tape
इसे ठीक करने के लिए क्षैतिज रूप से रखें। हम वर्णमाला में दो आसन्न पत्रों के अंतर की जांच करके यह कर (अनदेखी रैप-अराउंड और केवल आगे बढ़ता हुआ), और साथ के रूप में ज्यादा जगह भरने TAPE
/ tape
के रूप में हम की आवश्यकता होगी।
उदाहरण:
इनपुट: abcmnnnopstzra
आउटपुट:abcTAPETAPETmnnnopTAstTAPETzra
क्यूं कर?
- के बीच
c
और (लंबाई 9)m
होनी चाहिएdefghijkl
, इसलिए हम इसे भरते हैंTAPETAPET
; - के बीच
p
और (लंबाई 2)s
होनी चाहिएqr
, इसलिए हम इसे भरते हैंTA
; - के बीच
t
और (लंबाई 5)z
होनी चाहिएuvwxy
, इसलिए हम इसे भरते हैंTAPET
।
चुनौती नियम:
- अंतर केवल आगे लागू होता है, इसलिए बीच में कोई टेप नहीं
zra
। - इसके समान आसन्न अक्षरों के कई होना संभव है
nnn
। - आपको किसी भी उचित प्रारूप में इनपुट लेने की अनुमति है। एकल स्ट्रिंग, स्ट्रिंग-सरणी / सूची, चरित्र-सरणी / सूची आदि हो सकते हैं। आउटपुट में एक ही लचीलापन है।
- आपको किसी भी तरह से लोअरकेस और / या अपरकेस का उपयोग करने की अनुमति है। यह इनपुट, आउटपुट, और दोनों पर लागू होता है
TAPE
। - यह संभव नहीं
TAPE
है कि आवश्यक नहीं है, जिस स्थिति में इनपुट अपरिवर्तित रहता है।
सामान्य नियम:
- यह कोड-गोल्फ है , इसलिए बाइट्स में सबसे कम जवाब जीतता है।
कोड-गोल्फ भाषाओं को गैर-कोडगॉल्फिंग भाषाओं के साथ उत्तर पोस्ट करने से हतोत्साहित न करें। 'किसी भी' प्रोग्रामिंग भाषा के लिए यथासंभव कम उत्तर के साथ आने की कोशिश करें। - आपके उत्तर के लिए मानक नियम लागू होते हैं , इसलिए आपको उचित पैरामीटर और रिटर्न-प्रकार, पूर्ण कार्यक्रमों के साथ STDIN / STDOUT, फ़ंक्शन / विधि का उपयोग करने की अनुमति है। तुम्हारा कॉल।
- डिफ़ॉल्ट लूपोल्स निषिद्ध हैं।
- यदि संभव हो, तो कृपया अपने कोड के लिए एक परीक्षण के लिए एक लिंक जोड़ें।
- इसके अलावा, यदि आवश्यक हो तो एक स्पष्टीकरण जोड़ें।
परीक्षण के मामलों:
Input: "abcmnnnopstzra"
Output: "abcTAPETAPETmnnnopTAstTAPETzra"
Input: "aza"
Output: "aTAPETAPETAPETAPETAPETAPEza"
Input: "ghijk"
Output: "ghijk"
Input: "aabbddeeffiiacek"
Output: "aabbTddeeffTAiiaTcTeTAPETk"
Input: "zyxxccba"
Output: "zyxxccba"
Input: "abccxxyz"
Output: "abccTAPETAPETAPETAPETAPExxyz"
Input: "abtapegh"
Output: "abTAPETAPETAPETAPETtaTAPETAPETAPETApeTgh"
Input: "tape"
Output: "taTAPETAPETAPETApe"
ab[TAPETAPETAPETAPET]TA[TAPETAPETAPETA]PE[T]gh
( []
इसे और अधिक पठनीय बनाने के लिए जोड़ा गया )।