यह प्रश्न स्पैनिश भाषा में पूछे गए एक प्रश्न पर आधारित है । हां, मैंने स्पेनिश भाषा में एक एल्गोरिथ्म के लिए कहा। :)
स्पेन में, वर्तमान लाइसेंस प्लेटों में यह पैटर्न है:
1234 XYZ
जहाँ XYZ तीन व्यंजन हैं जो स्पेनिश व्यंजन के पूर्ण सेट (',' को छोड़कर, मुझे लगता है) से लिए गए हैं।
कभी-कभी, अपनी पत्नी के साथ यात्रा करते समय, हम एक खेल खेलने के लिए उपयोग करते हैं। जब हम एक लाइसेंस प्लेट देखते हैं, तो हम इसके तीन व्यंजन लेते हैं और एक शब्द बनाने की कोशिश करते हैं जिसमें तीन व्यंजन होते हैं, जो लाइसेंस प्लेट की तरह ही क्रम में दिखाई देते हैं। उदाहरण (स्पेनिश में):
BCD
BoCaDo (valid)
CaBezaDa (not valid)
FTL
FaTaL (valid)
FLeTar (not valid)
FTR
FleTaR (valid, wins)
caFeTeRa (valid, loses)
विजेता वह है जो कम से कम वर्णों का उपयोग करता है, जैसा कि आप अंतिम उदाहरण में देख सकते हैं।
चुनौती
सबसे छोटा कार्यक्रम या फ़ंक्शन लिखें जो शब्दों की एक सूची और तीन व्यंजन का एक सेट प्राप्त करता है और उस सूची में सबसे छोटा शब्द पाता है जिसमें एक ही क्रम में तीन व्यंजन शामिल होते हैं। इस खेल के प्रयोजनों के लिए, मामला मायने नहीं रखता है।
- शब्द सूची (पहला पैरामीटर) के लिए इनपुट आपकी भाषा
stringप्रकार की एक सरणी होगी । दूसरा पैरामीटर (तीन व्यंजन) एक और होगाstring। यदि यह आपकी भाषा के लिए बेहतर है,stringतो तीन व्यंजन के साथ मापदंडों की पूरी सूची के अंतिम आइटम पर विचार करें । आउटपुट दूसरा होगाstring। - शब्द सूची में जिन शब्दों का आविष्कार या अनंत शब्द नहीं होगा, वे ऐसे शब्द होंगे जो किसी भी मानक शब्दकोश में दिखाई देंगे। यदि आपको एक सीमा की आवश्यकता है, तो मान लीजिए कि शब्द सूची में कोई शब्द 50 वर्णों से अधिक लंबा नहीं होगा।
- यदि समान लेन के साथ कई शब्द हैं जो मान्य उत्तर हो सकते हैं, तो आप उनमें से किसी एक को वापस कर सकते हैं। यदि आप कोई शब्द तीन व्यंजन के पैटर्न से मेल नहीं खाते हैं, तो बस सुनिश्चित करें कि आप सिर्फ एक शब्द, या एक खाली स्ट्रिंग लौटाते हैं।
- आप समूह में व्यंजन दोहरा सकते हैं, इसलिए तीन व्यंजन के लिए मान्य इनपुट दोनों हैं
FLRऔरGGG। - स्पैनिश व्यंजन अंग्रेजी के बिल्कुल समान हैं, जिसमें "।" शामिल है। स्वर तनावग्रस्त स्वर के श्रवण के साथ समान हैं: "áéíóúü"। अन्य प्रकार के चिह्न जैसे "-" या "" "नहीं होंगे।"
- आप मान सकते हैं कि मामला हमेशा शब्द सूची और तीन व्यंजन दोनों में समान होगा।
यदि आप अपने एल्गोरिथ्म को स्पेनिश शब्दों के वास्तविक संग्रह के साथ परीक्षण करना चाहते हैं, तो आप ड्रॉपबॉक्स से एक मिलियन से अधिक शब्दों के साथ एक फ़ाइल (15.9 एमबी) डाउनलोड कर सकते हैं ।
परीक्षण के मामलों
Input: 'psr', {'hola' 'repasar' 'pasarais' 'de' 'caída' 'pequeñísimo' 'agüeros'}
Output: 'repasar'
Input: 'dsd', {'dedos' 'deseado' 'desde' 'sedado'}
Output: 'desde'
Input: 'hst', {'hastío' 'chest'}
Output: 'chest'
यह कोड-गोल्फ है , इसलिए सबसे छोटा कार्यक्रम हो सकता है जो मुझे हमेशा अपनी पत्नी को जीतने में मदद करता है! :)