작은 걸음 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);
}