作業中
中級

説明

問題

与えられた国々(国の数は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 [];
}

制約

  • 1 <= N <= 5
  • 1 <= x <= 10

例1

入力

Countries: ["United States"]
Limit: 3

出力

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

例2

入力

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

出力

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

テスト環境

  • 億万長者APIに接続するためのクライアントIDとクライアントシークレットは、tests/Config.tomlに用意されています。それらを使ってクライアントを初期化できます。
  • bal testを使って、実装を実行してテストしましょう。

ヒント

  • ims/billionairehubパッケージのクライアントを使って、国ごとの億万長者を取得するAPIを呼び出せます。具体的には、getBillionaires("<country>")リモートメソッドを使います。
  • まず国ごとの最も裕福な人々を見つけ、それらを組み合わせて上位x人を見つけることができます。
  • クエリ式は、フィルタリングと並べ替えに便利です。

出典

この演習の出典を見てみましょう。

GitHubで編集する リンクは新しいウィンドウまたはタブで開きます
Ballerina Exercism

を始める準備はできましたか?

Exercismに登録すれば、60個の演習、そして本物の人間によるメンタリングとともに、Ballerinaを学んでマスターできます。すべて無料です。