जब आप अपरकेस और लोअरकेस के प्रत्येक क्रमांकन को उत्पन्न करने में सक्षम होते हैं, तो असंवेदनशील चीजों की तुलना करने की आवश्यकता किसे है? कोई नहीं! यही जवाब है। कोई नहीं करता। आपका कार्य इस उपलब्धि को प्राप्त करना है; किसी दिए गए इनपुट के लिए अपरकेस / लोअरकेस के सभी संभावित क्रमांक उत्पन्न करें।
इनपुट
मुद्रण योग्य मानक एससीआई वर्णों की एक स्ट्रिंग। इनपुट को सभी लोअरकेस नहीं माना जाना चाहिए। इनपुट हमेशा कम से कम एक वर्ण का होगा।
उत्पादन
इनपुट स्ट्रिंग (कोई डुप्लिकेट नहीं) के लिए अपरकेस और लोअरकेस का प्रत्येक क्रमांकन। इसे केवल छोटे और बड़े संस्करण के साथ वर्ण बदलना चाहिए (संख्या समान रहेगी)। प्रत्येक क्रमपरिवर्तन एक स्ट्रिंग या वर्णों की सूची के रूप में आउटपुट होना चाहिए; एकल तार की सूचियों की अनुमति नहीं है।
उदाहरण
a1a
['a1a', 'a1A', 'A1a', 'A1A']
abc
['abc', 'abC', 'aBc', 'aBC', 'Abc', 'AbC', 'ABc', 'ABC']
Hi!
['hi!', 'hI!', 'Hi!', 'HI!']
स्कोरिंग
यह कोड-गोल्फ है , इसलिए सबसे छोटा उत्तर (बाइट्स में) जीतता है।
एक अतिरिक्त मज़े के रूप में देखें कि विस्तारित अस्की पात्रों को संभालने के लिए कितना अतिरिक्त प्रयास करना होगा, यहाँ एक अतिरिक्त परीक्षण मामला है:
ž1a -> ['ž1a', 'ž1A', 'Ž1a', 'Ž1A']
(आपके कार्यक्रम को इसका समर्थन करने की आवश्यकता नहीं है)
Hi!
दिया गया तो {('H', 'i', '!'), ('h', 'I', '!'), ('h', 'i', '!'), ('H', 'I', '!')}
क्या वह स्वीकार्य होगा?
Σ
किसी शब्द की शुरुआत में अपरकेस संस्करण है, σ
शुरुआत में या बीच में लोअरकेस संस्करण है, लेकिन एक शब्द के अंत में नहीं है, और ς
केवल एक शब्द के अंत में सबसे छोटा संस्करण है।
Σ
→['Σ', 'σ', 'ς']