작은 걸음 III — 프로그램으로 생각하기
값이 있는 위치 기억하기
값이 있는 위치 기억하기
이번에 배울 것
값 대신 인덱스를 기억하면 가장 작은 값이 무엇인지와 어디 있는지를 함께 알 수 있습니다.
실행해 보기
예제 · example2.cpp
void small_main()
{
Array<int> numbers = {7, 2, 9, 1, 5};
int smallest_index = 0;
for (int i = 1; i < numbers.length(); i = i + 1)
if (numbers[i] < numbers[smallest_index])
smallest_index = i;
print("Smallest: ", numbers[smallest_index]);
print("Index: ", smallest_index);
}
smallest_index는 가장 작은 원소의 위치입니다. numbers[smallest_index]로 그 값을 읽습니다. 예제의 최솟값은 1, 위치는 3입니다.
값과 위치를 혼동하지 않게 변수 이름에 Index를 붙였습니다. 같은 최솟값이 여러 개면 현재의 < 비교는 먼저 만난 위치를 남깁니다.
Exercise — 가장 큰 값의 위치
가장 큰 값의 index를 찾아 값과 index를 함께 출력하세요.
연습 문제 코드 · exercise2_starter.cpp
void small_main()
{
Array<int> numbers = {4, 11, 6, 20, 9};
// find the index of the largest value.
}
Hint
largest_index를 0으로 시작하고 numbers[i] > numbers[largest_index]를 비교하세요.
풀이 보기
void small_main()
{
Array<int> numbers = {4, 11, 6, 20, 9};
int largest_index = 0;
for (int i = 1; i < numbers.length(); i = i + 1)
if (numbers[i] > numbers[largest_index])
largest_index = i;
print("Value: ", numbers[largest_index]);
print("Index: ", largest_index);
}