इस साइट पर बहुत से लोग गूढ़ भाषाओं का उपयोग करते हैं , और चूंकि ये भाषाएं असामान्य और समझने में कठिन हैं, इसलिए वे अक्सर एक निश्चित प्रारूप में स्पष्टीकरण लिखेंगे। उदाहरण के लिए, यदि कोड था
abcdefghijklmnop
और यह भाषा #
टिप्पणियों के लिए उपयोग करती है, वे इस तरह से एक स्पष्टीकरण लिखेंगे:
a #Explanation of what 'a' does
bc #Bc
d #d
e #Explanation of e
fgh #foobar
ij #hello world
k #etc.
l #so on
mn #and
op #so forth
मैं अक्सर ऐसा भी करता हूं, लेकिन हर बार जब मैं ऐसा करता हूं, तो मुझे ऐसा लगता है कि टेक्स्ट का लेआउट वास्तव में अप्रिय और समय लेने वाला है। इसलिए मैं चाहता हूं कि आप मेरे लिए "एसोलंग-कमेंट-टेम्प्लेट-जेनरेटर" बनाएं। उदाहरण के लिए, यदि हम टिप्पणियों को अनदेखा करते हैं, तो पिछले कोड में यह टेम्पलेट है:
a #
bc #
d #
e #
fgh #
ij #
k #
l #
mn #
op #
चुनौती:
आपको एक प्रोग्राम या फ़ंक्शन लिखना होगा जो इनपुट के रूप में दो तार लेता है, और इस "एसोलंग-टिप्पणी-टेम्पलेट" को आउटपुट करता है। पहला इनपुट कोड होगा, लेकिन सलाखों के साथ ( |
) डाला जाता है जहां नए सिरे जाते हैं। दूसरा इनपुट वह है जो हम टिप्पणियों के लिए उपयोग करेंगे। तो हमारे पिछले उदाहरण में इनपुट के लिए यह होगा:
"a|bc|d|e|fgh|ij|k|l|mn|op", "#"
दुर्भाग्य से यह बार कोड इनपुट का हिस्सा होने से बाहर रखता है, लेकिन यह ठीक है। आप मान सकते हैं कि टिप्पणी इनपुट एकल वर्ण होगा। सादगी की खातिर, टिप्पणी चार एक पट्टी नहीं होगी। कोड इनपुट में केवल मुद्रण योग्य ASCII शामिल होगा, और इसमें कोई नया अंक नहीं होगा।
उम्मीद है कि आप अनुमान लगा सकते हैं कि टेस्टकेस से क्या करना है, लेकिन मैं कुछ चीजों को स्पष्ट करने की कोशिश करूंगा।
आपको प्रत्येक बार पर कोड इनपुट को "कोड-सेक्शन" में विभाजित करना होगा। फिर, कोड का प्रत्येक अनुभाग अपनी स्वयं की लाइन पर आउटपुट होता है और सभी पिछले कोड की लंबाई के साथ बाएं-पैडेड होता है (सलाखों सहित नहीं)। फिर, प्रत्येक रेखा पर्याप्त रिक्त स्थान के साथ दाईं ओर होती है ताकि हर पंक्ति पर अंतिम दो अक्षर "एक अतिरिक्त स्थान" + "वर्ण" हो।
एक अनुगामी न्यूलाइन की अनुमति है।
यहाँ एक और उदाहरण है। इनपुट के लिए
"Hello|World", "/"
कोड का पहला खंड "हैलो" है और दूसरा "वर्ल्ड" है। तो यह आउटपुट देना चाहिए:
Hello /
World /
यहाँ कुछ और नमूने दिए गए हैं:
Input:
"a|b|c|d|e|f|g", ","
Output:
a ,
b ,
c ,
d ,
e ,
f ,
g ,
Input:
"abcdefg", ":"
Output:
abcdefg :
Input:
"4|8|15|16|23|42", "%"
Output:
4 %
8 %
15 %
16 %
23 %
42 %
Input:
"E|ac|h s|ecti|on is| one c|haracte|r longer| than the| last!", "!"
Output:
E !
ac !
h s !
ecti !
on is !
one c !
haracte !
r longer !
than the !
last! !
Input:
"This|Code|has||empty||sections", "@"
Output:
This @
Code @
has @
@
empty @
@
sections @
नियम:
आप इन इनपुट और आउटपुट को किसी भी उचित प्रारूप में ले सकते हैं। उदाहरण के लिए, किसी फ़ाइल को पढ़ना / लिखना, STDIN / STOUT, फ़ंक्शन आर्ग्युमेंट्स / रिटर्न वैल्यू, आदि। हमेशा की तरह, यह कोड-गोल्फ है , इसलिए अपने कोड को यथासंभव छोटा बनाने का प्रयास करें और यदि आप सबसे कम समाधान प्राप्त कर सकते हैं तो आप जीत सकते हैं। तुम्हारी भाषा में! मैं समग्र विजेता के रूप में सबसे छोटा समाधान भी चुनूंगा। मानक खामियों पर रोक लगाई जाती है।
|
चरित्र का उपयोग किए बिना इसे करने के लिए प्रबंधन करते हैं तो एक बोनस अच्छा होगा, इसलिए आप खुद को समझा सकते हैं
|
) हो सकता है ?