यह एक दर्पण है |
:। मुझे अभी पता चला है कि आप स्ट्रिंग के बीच में एक दर्पण चिपका सकते हैं यदि स्ट्रिंग को खुद पर प्रतिबिंबित किया जा सकता है! उदाहरण के लिए, स्ट्रिंग abccba
। यदि आप इसे आधे में काटते हैं तो दो हिस्सों में एक दूसरे के दर्पण चित्र हैं:
abc <--> cba
तो, हम स्ट्रिंग के बीच में एक दर्पण चिपका सकते हैं, और हमारा नया स्ट्रिंग है abc|cba
। कभी-कभी, स्ट्रिंग के केवल भाग को ही प्रतिबिंबित किया जा सकता है। उदाहरण के लिए, स्ट्रिंग "दर्पण"। दो आर को प्रतिबिंबित किया जाता है, लेकिन बाकी स्ट्रिंग नहीं है। यह ठीक है, हम केवल स्ट्रिंग के उन हिस्सों को हटा देंगे जो एक दूसरे को दर्पण नहीं करते हैं, और हमें निम्नलिखित स्ट्रिंग मिलती है:
r|r
कुछ तारों को कई स्थानों पर मिरर किया जा सकता है। उदाहरण के लिए, "हैलो वर्ल्ड, xyzzyx"। मुझे अपने दर्पण में बहुत सारे पाठ प्रतिबिंबित हैं, इसलिए आपको अपना दर्पण लगाने के लिए सबसे अच्छी जगह खोजने की आवश्यकता है। इस मामले में, आपको लंबे समय तक प्रतिबिंबित स्ट्रिंग का उत्पादन करना चाहिए और हमारे पिछले उदाहरण की तरह, बाकी सब को हटा दें। यह तार बन जाता है:
xyz|zyx
कुछ तार ऐसे दिखते हैं जैसे उन्हें प्रतिबिंबित किया जा सकता है, लेकिन वास्तव में ऐसा नहीं हो सकता। अगर एक तार को कहीं भी नहीं दिखाया जा सकता है, तो आपको कुछ भी नहीं करना चाहिए।
चुनौती:
केवल मुद्रण योग्य-एससीआई युक्त स्ट्रिंग को देखते हुए, अपना दर्पण लगाने के लिए सबसे अच्छी जगह ढूंढें। दूसरे शब्दों में,
सबसे बड़ी समान लंबाई वाली पेलिंड्रोमिक सबस्ट्रिंग का पता लगाएं, फिर इसे एक पाइप कैरेक्टर के साथ आउटपुट करें। '' इसके बीच में।
इनपुट 1-50 वर्ण लंबा होगा।
आप यह मान सकते हैं कि इनपुट में दर्पण |
या newlines नहीं होंगे । इसके अलावा, सभी मुद्रण योग्य-अस्सी के अक्षर निष्पक्ष खेल हैं। यदि सबसे लंबा मिरर किया गया विकल्प दो सबस्ट्रिंग के बीच बंधा है, तो आप चुन सकते हैं कि कौन सा आउटपुट दिया जाए। उदाहरण के लिए, स्ट्रिंग "अब्बा ओलो" के लिए, आपको "ab | ba" या "ol | lo" का आउटपुट करना होगा, लेकिन इससे कोई फर्क नहीं पड़ता कि आप कौन सा आउटपुट करते हैं। स्ट्रिंग केस संवेदी, जैसे हैं "अब्बा" चाहिए नहीं उत्पादन "एबी | बा", यह उत्पादन रिक्त स्ट्रिंग चाहिए।
नमूना IO:
"Hello World" --> "l|l"
"Programming Puzzles and Code-Golf" --> Either "m|m" or "z|z"
"abcba" --> ""
"Hulluh" --> "ul|lu"
"abcdefggfedcba" --> "abcdefg|gfedcba"
"abcdefggfabc" --> "fg|gf"
"AbbA" --> "Ab|bA"
"This input is a lot like the last one, but with more characters that don't change the output. AbbA" --> "Ab|bA"
हमेशा की तरह, यह कोड-गोल्फ है, इसलिए मानक कमियां लागू होती हैं, और बाइट्स में सबसे कम जवाब जीतता है!