चुनौती
आपका प्रोग्राम या फ़ंक्शन STDIN या फ़ंक्शन पैरामीटर से एकल स्ट्रिंग इनपुट स्वीकार करेगा। आप मान सकते हैं कि इनपुट में केवल वर्णमाला अक्षर (ए-जेडए-जेड), रिक्त स्थान और पूर्ण स्टॉप होंगे। इनपुट केस असंवेदनशील है, इसलिए आपको 'ए' के साथ वैसा ही व्यवहार करना चाहिए जैसा आप 'ए' के साथ करते हैं।
स्ट्रिंग में प्रत्येक वर्ण के लिए, आप निम्नलिखित विनिर्देश के अनुसार एक इमारत के एक प्रतिनिधित्व का उत्पादन करेंगे।
प्रत्येक इमारत में एक छत होनी चाहिए, जो शीर्ष रेखा पर एक अंडरस्कोर द्वारा निर्दिष्ट की जाती है, फिर दूसरी लाइन पर एक स्लैश, स्थान, बैकस्लैश।
_
/ \
तब आपके पास कई मंजिलें होंगी, जो अक्षर संख्या (a = 1, b = 2, c = 3 आदि) से मेल खाती हैं, जो कि प्रत्येक तरफ एक दीवार (!) द्वारा दर्शाई जाती हैं और बीच में एक स्थान होता है। नीचे की मंजिल (और केवल नीचे की मंजिल) में एक नींव होना चाहिए, जो दीवारों के बीच एक अंडरस्कोर है। ऐशे ही...
|_|
इसलिए उदाहरण के लिए, 'बी' इस तरह दिखेगा
_
/ \
| |
|_|
अब, हम जानते हैं कि बहुत ऊँची, संकरी इमारतें खड़ी नहीं हो सकती हैं और उन्हें आधार पर व्यापक होना चाहिए, इसलिए कोई भी इमारत कुछ अतिरिक्त समर्थन के बिना तीन मंजिला से अधिक ऊँची नहीं खड़ी हो सकती है। इसलिए हर तीन स्तरों (कम नहीं) में आपको एक 'चौड़ीकरण परत' जोड़ना चाहिए। चौड़ीकरण परत में नीचे की धारा की दीवारों के ऊपर सीधे एक स्लैश और बैकस्लैश होता है, और नीचे का खंड ऊपर के खंड की तुलना में दो स्थान चौड़ा होना चाहिए। अतिरिक्त परत भवन की ऊंचाई की ओर नहीं गिना जाता है।
इमारतों को ओवरलैप नहीं होना चाहिए, लेकिन उनके बीच कोई अनावश्यक स्थान नहीं होना चाहिए, और जमीन हमेशा सपाट होती है, इसलिए सभी भवनों का आधार एक ही स्तर पर होना चाहिए।
उदाहरण के लिए, 'एब्डेफेगा' ऐसा दिखेगा।
_
/ \
_ | |
_ / \ | |
_ / \ | | | |
/ \ | | | | / \
_ | | | | | | | |
_ / \ | | | | / \ | |
_ / \| | | | / \| | | | _
/ \| || |/ \| || |/ \/ \
|_||_||_||___||___||___||_____||_|
स्ट्रिंग इनपुट में रिक्त स्थान को दोहरे स्थान द्वारा दर्शाया जाना चाहिए।
स्ट्रिंग इनपुट में पूर्ण विराम को इस तरह मलबे द्वारा दर्शाया जाना चाहिए।
/\/\
आगे के उदाहरण
इनपुट = Hello world.
आउटपुट =
_
/ \
| |
| |
| |
/ \
| |
| | _
| | / \
/ \ | |
| | | |
_ | | _ | |
/ \ | | / \ / \
| | / \ | | | |
| | | | | | | |
_ _ | | | | | | | | _
/ \ / \ / \ | | / \ / \ / \
| | | | | | / \ | | | | | |
| | | | | | | | | | | | | |
| | | | | | | | | | | | | |
_ / \ / \ / \ | | / \ / \ / \
/ \ | | | | | | / \ | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | _ / \ / \ / \ | | / \ / \ / \
/ \ / \ | | | | | | / \ | | | | | | _
| | | | | | | | | | | | | | | | | | / \
| | | | | | | | | | | | | | | | | | | |
| | | | / \/ \/ \ | | / \/ \/ \ | |
/ \/ \| || || | / \| || || | | |
| || || || || | | || || || |/ \
|_____||___||_______||_______||_________| |_______________||_________||___________||_______||___|/\/\
इनपुट = lorem ipsum
_
/ \
_ | |
/ \ | |
_ | | | |
/ \ | | / \
| | _ | | | |
| | / \ / \ | |
_ | | | | | | | |
/ \ / \ | | | | / \
| | | | _ | | | | | | _
| | | | / \ / \ / \ | | / \
_ | | | | | | | | | | | | | |
/ \ / \ / \ | | | | | | / \ | |
| | | | | | | | | | | | | | | |
| | | | | | / \ / \ / \ | | / \
| | | | | | | | _ | | | | | | | |
/ \ / \ / \ | | / \ | | | | / \ | |
| | | | | | | | | | | | | | | | | |
| | | | | | / \ | | / \ / \ | | / \
| | | | | | | | | | | | | | | | | |
/ \ / \ / \ _ | | / \ | | | | / \ | |
| | | | | | / \ | | | | | | | | | | | |
| | | | | | | | / \ | | / \ / \ | | / \
| | | | | | | | | | | | | | | | | | | |
/ \/ \/ \ | | | | / \ | | | | / \ | |
| || || |/ \ | | | | | | | | | | | |
| || || || |/ \ | |/ \/ \| |/ \
|_______||_________||___________||___||_________| |_____||___________||_____________||_____________||_________|
इनपुट = a.a.a.x.x.x.a.a.a
_ _ _
/ \ / \ / \
| | | | | |
| | | | | |
| | | | | |
/ \ / \ / \
| | | | | |
| | | | | |
| | | | | |
/ \ / \ / \
| | | | | |
| | | | | |
| | | | | |
/ \ / \ / \
| | | | | |
| | | | | |
| | | | | |
/ \ / \ / \
| | | | | |
| | | | | |
| | | | | |
/ \ / \ / \
| | | | | |
| | | | | |
| | | | | |
/ \ / \ / \
| | | | | |
| | | | | |
| | | | | |
/ \ / \ / \
_ _ _ | | | | | | _ _ _
/ \ / \ / \ | | | | | | / \ / \ / \
|_|/\/\|_|/\/\|_|/\/\|_______________|/\/\|_______________|/\/\|_______________|/\/\|_|/\/\|_|/\/\|_|
नियम
- बेशक यह कोड गोल्फ है, बाइट्स जीत में सबसे कम स्कोर
- मानक खामियों के नियम लागू होते हैं
- आउटपुट से पहले या बाद में अतिरिक्त रिक्त लाइनों की किसी भी संख्या की अनुमति है
- आप पूरे परिणाम को एक स्ट्रिंग में आउटपुट करने के लिए चुन सकते हैं या आउटपुट को एक सरणी के रूप में पेश कर सकते हैं जहां प्रत्येक तत्व आउटपुट की एक पंक्ति का प्रतिनिधित्व करता है, या STDOUT को भेज सकता है
ध्यान दें
पीपीसीजी के लिए यह मेरी पहली पोस्ट है, इसलिए कृपया मुझ पर आसान काम करें। यह सैंडबॉक्स के माध्यम से किया गया है। किसी भी नकारात्मक बिंदु या संभावित सुधार कृपया टिप्पणी के रूप में पोस्ट करें और मैं वही करूंगा जो मैं कर सकता हूं
[a,z]
, [1.26]
भागों Mego उल्लेख किया है। यह वैकल्पिक होना अक्सर सबसे अच्छा होता है (जब तक कि यह चुनौती का एक महत्वपूर्ण हिस्सा नहीं है (यह यहाँ नहीं है)।
[a,z]
और[A,Z]
करने के लिए[1,26]
एक व्यर्थ आवश्यकता की तरह लगता है। इनपुट के रूप में केवल सूची पूर्णांक का उपयोग करना बेहतर होगा (0
मलबे के लिए इनपुट होना)। इसके अलावा, सैंडबॉक्स में केवल 21 घंटों तक रहने के बाद अपनी चुनौती पोस्ट करना, एक से अधिक उपयोगकर्ताओं से कोई वोट या प्रतिक्रिया प्राप्त करने के लिए इंतजार किए बिना, यह गिनती नहीं करता है कि यह "सैंडबॉक्स के माध्यम से" हो रहा है। लोगों को उनकी समीक्षा करने के लिए भरपूर समय देने के लिए, सैंडबॉक्स में 48-72 घंटों के लिए चुनौतियों को छोड़ने की सिफारिश की जाती है।