작은 걸음 V — 나만의 자료형 만들기

묶은 값을 여러 개 담기

묶은 값을 여러 개 담기

이번에 배울 것

직접 만든 타입도 배열의 원소가 될 수 있습니다. Array<Player>는 여러 선수의 정보를 담습니다.

실행해 보기

예제 · example2.cpp
struct Player
{
    String name;
    int score;
};

void small_main()
{
    Array<Player> players = {
        {"Alex", 800},
        {"Mina", 1200},
        {"Sam", 950}
    };

    int best = 0;

    for (int i = 1; i < players.length(); i = i + 1)
        if (players[i].score > players[best].score)
            best = i;

    print("Winner: ", players[best].name);
}

players[i].score는 i번째 선수의 점수입니다. 최댓값 위치를 찾던 방법을 그대로 쓰고, 마지막에는 그 선수의 이름을 출력합니다.

예상 결과는 Winner: Mina입니다. 점수를 바꾸어 우승자가 달라지는지 보세요.

Exercise — 최고 점수 찾기

name과 score를 가진 Player 세 명을 Array에 넣고 가장 높은 score의 Player 이름을 출력하세요.

연습 문제 코드 · exercise2_starter.cpp
struct Player
{
    String name;
    int score;
};

void small_main()
{
    Array<Player> players = {
        {"A", 10},
        {"B", 35},
        {"C", 20}
    };

    // find and print the best player's name.
}

Hint

Lesson의 best index 패턴을 사용하세요.

풀이 보기
struct Player
{
    String name;
    int score;
};

void small_main()
{
    Array<Player> players = {
        {"A", 10},
        {"B", 35},
        {"C", 20}
    };

    int best = 0;

    for (int i = 1; i < players.length(); i = i + 1)
        if (players[i].score > players[best].score)
            best = i;

    print(players[best].name);
}
← 이전 레슨다음 레슨 →