ETL

ETL

آسان

مقدمه

شما برای شرکتی کار می‌کنید که یک بازی آنلاین چندنفره به اسم Lexiconia می‌سازد.

برای بازی کردن، به هر بازیکن ۱۳ حرف داده می‌شود که باید آن‌ها را بازآرایی کند تا کلمه بسازد. حروف مختلف امتیازهای متفاوتی دارند، چون ساختن کلمه با بعضی حروف آسان‌تر از حروف دیگر است.

این بازی در ابتدا به انگلیسی عرضه شد، اما بسیار محبوب است و حالا شرکت می‌خواهد به زبان‌های دیگر هم گسترش پیدا کند.

زبان‌های مختلف باید از امتیازهای متفاوتی برای حروف پشتیبانی کنند. امتیازها بر اساس این تعیین می‌شوند که هر حرف در مقایسه با حروف دیگر آن زبان چقدر استفاده می‌شود.

برای مثال، حرف «C» در انگلیسی کاملاً رایج است و فقط ۳ امتیاز ارزش دارد. اما در نروژی حرفی بسیار کمیاب است و ۱۰ امتیاز ارزش دارد.

برای اینکه افزودن زبان‌های جدید آسان‌تر شود، تیم شما باید روش ذخیره‌سازی حروف و امتیازهایشان را در بازی تغییر دهد.

دستورالعمل‌ها

وظیفه‌ی شما این است که قالب داده‌ی حروف و ارزش امتیازی آن‌ها را در بازی تغییر دهید.

در حال حاضر، حروف بر اساس امتیازشان در گروه‌هایی ذخیره می‌شوند، به شکل یک «نگاشت» یک‌به‌چند.

  • 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» یک امتیاز است.
  • ارزش «b» 3 امتیاز است.
  • ارزش «c» 3 امتیاز است.
  • ارزش «d» 2 امتیاز است.
  • و غیره.

به‌عنوان بخشی از این تغییر، تیم تصمیم گرفته است حروف را از بزرگ به کوچک تغییر دهد.

Note

اگر می‌خواهید ببینید داده‌ها پیش‌تر چگونه ساختار‌بندی شده بودند و چگونه باید تغییر کنند، به نمونه‌های موجود در مجموعه‌ی تست نگاهی بیندازید.

ویرایش از طریق GitHub این لینک در پنجره یا زبانه‌ی جدیدی باز می‌شود
ABAP Exercism

آماده‌اید ETL را شروع کنید؟

در Exercism ثبت‌نام کنید تا ABAP را همراه با 54 تمرین و مربی‌گری انسانی واقعی یاد بگیرید و در آن استاد شوید، همه‌ی این‌ها رایگان.