ETL

ETL

मध्यम

परिचय

आप एक ऐसी कंपनी के लिए काम करते हैं जो Lexiconia नाम का ऑनलाइन मल्टीप्लेयर गेम बनाती है।

यह गेम खेलने के लिए हर खिलाड़ी को 13 अक्षर दिए जाते हैं। खिलाड़ी को इन्हें मिलाकर शब्द बनाने होते हैं। हर अक्षर के अंक अलग-अलग होते हैं, क्योंकि कुछ अक्षरों से शब्द बनाना दूसरों के मुकाबले आसान होता है।

यह गेम पहले अंग्रेज़ी में शुरू किया गया था, लेकिन अब यह बहुत लोकप्रिय है। इसलिए कंपनी अब इसे दूसरी भाषाओं में भी शुरू करना चाहती है।

हर भाषा में अक्षरों के अंक अलग-अलग होने चाहिए। ये अंक इस बात से तय होते हैं कि उस भाषा के दूसरे अक्षरों की तुलना में वे अक्षर कितनी बार इस्तेमाल होते हैं।

उदाहरण के लिए, अंग्रेज़ी में 'C' अक्षर काफी आम है और इसके सिर्फ 3 अंक मिलते हैं। लेकिन नॉर्वेजियाई में यह बहुत कम इस्तेमाल होने वाला अक्षर है और इसके 10 अंक मिलते हैं।

नई भाषाएँ जोड़ना आसान बनाने के लिए आपकी टीम को गेम में अक्षरों और उनके अंकों को रखने का तरीका बदलना होगा।

निर्देश

आपको गेम में अक्षरों और उनके अंकों का डेटा फॉर्मेट बदलना है।

फिलहाल अक्षर अपने स्कोर के आधार पर समूहों में संग्रहीत किए जाते हैं, जो एक-से-अनेक मैपिंग है।

  • 1 अंक: "A", "E", "I", "O", "U", "L", "N", "R", "S", "T",
  • 2 अंक: "D", "G",
  • 3 अंक: "B", "C", "M", "P",
  • 4 अंक: "F", "H", "V", "W", "Y",
  • 5 अंक: "K",
  • 8 अंक: "J", "X",
  • 10 अंक: "Q", "Z",

इसे बदलकर हर अक्षर को उसके स्कोर के साथ एक-से-एक मैपिंग में संग्रहीत करना है।

  • "a" का 1 अंक है।
  • "b" का 3 अंक है।
  • "c" का 3 अंक है।
  • "d" का 2 अंक है।
  • इत्यादि।

इस बदलाव के साथ टीम ने यह भी तय किया है कि अक्षर अब बड़े अक्षरों की जगह छोटे अक्षरों में होंगे।

Note

अगर आप देखना चाहते हैं कि डेटा पहले कैसे व्यवस्थित था और उसे कैसे बदलना है, तो टेस्ट सूट में दिए गए उदाहरणों पर एक नज़र डालिए।

GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
Emacs Lisp Exercism

ETL शुरू करने के लिए तैयार हैं?

Exercism पर साइन अप कीजिए और Emacs Lisp को 96 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।