चुनौती
मैं दूसरे दिन Google के जावा स्टाइल गाइड को पढ़ रहा था और किसी भी मनमाने स्ट्रिंग को कैमलकेस नोटेशन में बदलने के लिए उनके एल्गोरिथ्म पर ठोकर खाई। इस चुनौती में आपको इस एल्गोरिथ्म को लागू करना होगा क्योंकि आप यह सब कुछ अपने सिर में नहीं करना चाहते हैं जब आप अपने सुपर प्रतिस्पर्धी जावा सबमिशन को कोड-गोल्फ चुनौतियों के लिए लिख रहे हैं।
नोट: मैंने एल्गोरिथ्म में कुछ छोटे समायोजन किए। आपको नीचे निर्दिष्ट एक का उपयोग करने की आवश्यकता है।
एल्गोरिथ्म
आप एक मनमाना इनपुट स्ट्रिंग के साथ शुरू करते हैं और इसके लिए निम्नलिखित ऑपरेशन लागू करते हैं:
- सभी apostrophes निकालें
`'
- परिणाम को शब्दों में विभाजित करके विभाजित करें
- ऐसे अक्षर जो अल्फ़ान्यूमेरिकल नहीं हैं और अंक नहीं हैं
[^a-zA-Z0-9]
- अपरकेस अक्षर जो दोनों तरफ लोअरकेस अक्षरों से घिरे होते हैं।
abcDefGhI jk
उदाहरण के लिए पैदावारabc Def Ghi jk
- ऐसे अक्षर जो अल्फ़ान्यूमेरिकल नहीं हैं और अंक नहीं हैं
- हर शब्द को छोटा करें।
- हर शब्द का पहला अक्षर अपरकेस।
- सभी शब्दों को एक साथ जोड़ दें।
अतिरिक्त नोट्स
- इनपुट में केवल मुद्रण योग्य ASCII होगा।
- यदि कोई अंक किसी शब्द में पहला अक्षर है, तो इसे छोड़ दें और इसे इस शब्द में और कुछ न दें।
- इनपुट में हमेशा कम से कम एक वर्ण होगा।
नियम
- कार्य या पूर्ण कार्यक्रम की अनुमति है।
- इनपुट / आउटपुट के लिए डिफ़ॉल्ट नियम ।
- मानक खामियां लागू होती हैं।
- यह कोड-गोल्फ है , इसलिए सबसे कम बाइट-काउंट जीतता है। टाईब्रेकर पहले जमा करना है।
परीक्षण के मामलों
"प्रोग्रामिंग पहेलियाँ और कोड गोल्फ" -> "प्रोग्रामिंगपीकसकोडकोड" "XML HTTP अनुरोध" -> "xmlHttpRequest" "iOS पर IPv6 का समर्थन करता है?" -> "supportIpv6OnIos" "SomeThing w1th, apo'strophe's और 'punc] tuation" -> "someThingW1thApostrophesAndPuncTuation" "कुछ खास नहीं" -> "कुछ खास नहीं" "5 स्पेशल सी 5" -> "5 स्पेशल सी 5" "1337" -> "1337" "1337-स्पाईक" -> "1337Speak" "व्हाट्स मेस" -> "व्हाट्सएप" "abcD" -> "abcd" "a" -> "a" "बी" -> "बी"
हैप्पी कोडिंग!
snake_case
&PascalCase
snake_case
वजह से मर्टिजन , बिल्कुल। FORTH के पास भी है FORTHCASE
और एपीएल के पास हैunreadable in any case
ApostropheS
आउटपुट में होना चाहिए ।