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 يفتح الرابط في نافذة أو علامة تبويب جديدة
R Exercism

مستعد لبدء ETL؟

سجّل في Exercism لتتعلّم وتتقن R عبر 21 مفهومًا111 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.