작업 중
보통

지침

문제 설명

주어진 국가 집합(국가 수 = N)에서 순자산 기준 상위 x명의 억만장자를 찾아야 해요. 이를 구현하기 위해, 국가별 억만장자 정보를 반환하는 API에 접근할 수 있는 권한을 받았어요.

API 접근을 더 간단하게 하려면, 국가별 억만장자 정보를 반환하는 API에 연결해 주는 ims/billionairehub 클라이언트 커넥터를 사용할 수 있어요.

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에 가입하고 Ballerina 트랙을 연습 문제 60개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.