작은 걸음 III — 프로그램으로 생각하기
조건에 맞는 값 세기
조건에 맞는 값 세기
이번에 배울 것
개수를 셀 때는 조건에 맞는 원소를 만날 때만 1을 더합니다.
실행해 보기
예제 · example2.cpp
int count_even(Array<int> numbers)
{
int count = 0;
for (int i = 0; i < numbers.length(); i = i + 1)
if (numbers[i] % 2 == 0)
count = count + 1;
return count;
}
void small_main()
{
Array<int> numbers = {3, 8, 4, 7, 10};
print("Even: ", count_even(numbers));
}
numbers[i] % 2 == 0은 2로 나눈 나머지가 0, 즉 짝수인지 묻습니다. 8, 4, 10이 해당해 Even: 3이 나옵니다. 0도 이 조건을 만족합니다.
count_even은 배열을 매개변수로 받습니다. 지금은 Array<int> 값을 복사해서 받으며, 복사를 피하는 방법은 뒤의 참조 수업에서 배웁니다.
Exercise — 양수 개수 세기
Array에서 0보다 큰 값이 몇 개인지 세어 출력하세요.
연습 문제 코드 · exercise2_starter.cpp
void small_main()
{
Array<int> numbers = {-2, 5, 0, 8, -1, 3};
int count = 0;
// Count positive values.
print(count);
}
Hint
각 값에 대해 numbers[i] > 0인지 검사하고 count를 1 증가시키세요.
풀이 보기
void small_main()
{
Array<int> numbers = {-2, 5, 0, 8, -1, 3};
int count = 0;
for (int i = 0; i < numbers.length(); i = i + 1)
if (numbers[i] > 0)
count = count + 1;
print(count);
}