در دست انجام
متوسط

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

بیان مسئله

از شما خواسته شده است که در مجموعه‌ای مشخص از کشورها (تعداد کشورها = N)، x میلیاردر برتر را از نظر ثروت خالص پیدا کنید. برای انجام این کار، دسترسی به یک API در اختیار شما قرار گرفته است که جزئیات میلیاردرها را به تفکیک کشور برمی‌گرداند.

برای ساده‌تر شدن دسترسی به API، می‌توانید با کانکتور کلاینت ims/billionairehub به API‌ای متصل شوید که جزئیات میلیاردرها را به تفکیک کشور برمی‌گرداند.

import ims/billionairehub;

# Client ID and Client Secret to connect to the billionaire API
configurable string clientId = ?;
configurable string clientSecret = ?;

public function getTopXBillionaires(string[] countries, int x) returns string[]|error {
    // Create the client connector
    billionairehub:Client cl = check new ({auth: {clientId, clientSecret}});

    // TODO Write your logic here
    return [];
}

محدودیت‌ها

  • ۱ <= N <= ۵
  • ۱ <= x <= ۱۰

مثال ۱

ورودی

Countries: ["United States"]
Limit: 3

خروجی

["Elon Musk", "Jeff Bezos", "Bill Gates"]

مثال ۲

ورودی

Countries: ["China", "India"]
Limit: 5

خروجی

["Mukesh Ambani", "Gautam Adani & family", "Zhong Shanshan", "Zhang Yiming", "Ma Huateng"]

محیط آزمون

  • Client ID و Client Secret برای اتصال به API میلیاردرها در tests/Config.toml در اختیار شما قرار داده شده است. می‌توانید از آن‌ها برای مقداردهی اولیه‌ی کلاینت استفاده کنید.
  • برای اجرا و آزمون پیاده‌سازی‌تان از bal test استفاده کنید.

راهنمایی‌ها

  • می‌توان از کلاینت بسته‌ی ims/billionairehub برای فراخوانی API دریافت میلیاردرها به تفکیک کشور استفاده کرد. به‌طور خاص می‌توانید از متد راه دور getBillionaires("<country>") استفاده کنید.
  • می‌توانید ابتدا ثروتمندترین افراد هر کشور را پیدا کنید و سپس آن‌ها را با هم ترکیب کنید تا x نفر برتر را به دست آورید.
  • عبارت‌های کوئری برای فیلتر کردن و مرتب‌سازی راحت خواهند بود.

منبع

منبع این تمرین را بررسی کنید.

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

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

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