벡터 데이터 필터링
Coddy C++ 여정의 로직과 흐름 섹션에 포함된 레슨. 56개 중 54번째.
챌린지
쉬움컬렉션에서 특정 숫자를 추출하기 위한 데이터 필터링 시스템을 구현하는 프로그램을 작성하세요. 이 챌린지는 데이터를 선택적으로 처리하기 위해 벡터, 반복문, 조건부 로직 및 함수 설계를 결합하는 능력을 테스트합니다.
다음과 같은 입력이 제공됩니다:
- 컬렉션에 포함된 정수의 개수를 나타내는 정수
n - 필터링할 숫자를 나타내는
n개의 정수 - 필터링을 위한 최소값을 나타내는 정수
threshold
프로그램은 다음을 수행해야 합니다:
std::vector<int>와 정수 threshold를 매개변수로 받는filterNumbers라는 이름의 함수를 생성합니다.- 이 함수는 원래 벡터의 숫자 중 threshold보다 큰 숫자만 포함하는 새로운
std::vector<int>를 반환해야 합니다. - main 함수에서 입력값을 읽고
n개의 정수로 벡터를 채웁니다. - 채워진 벡터와 threshold를 사용하여
filterNumbers함수를 호출합니다. - 먼저 필터링된 숫자의 개수를 출력한 다음, 필터링된 각 숫자를 별도의 줄에 출력합니다.
다음과 같은 정확한 출력 형식을 사용하세요:
첫 번째 줄 - 필터링된 숫자의 개수:
Filtered count: [number_of_filtered_elements]그 다음 각 필터링된 숫자를 별도의 줄에 출력:
[filtered_number_1]
[filtered_number_2]
...필터를 통과한 숫자가 없으면 다음만 출력합니다:
Filtered count: 0filterNumbers 함수는 새로운 빈 벡터를 생성하고, 범위 기반 for 루프를 사용하여 입력 벡터를 반복하며, if 문을 사용하여 각 숫자를 threshold와 비교해야 함을 기억하세요. threshold보다 엄격히 큰 숫자만 push_back()을 사용하여 결과 벡터에 추가해야 합니다. 함수는 필터링된 요소만 포함하는 새 벡터를 반환해야 합니다.
직접 해보기
#include <iostream>
#include <vector>
using namespace std;
// TODO: 여기에 filterNumbers 함수를 만드세요
int main() {
// 정수의 개수를 읽습니다
int n;
cin >> n;
// 정수들을 벡터에 읽어 들입니다
vector<int> numbers;
for (int i = 0; i < n; i++) {
int num;
cin >> num;
numbers.push_back(num);
}
// 임계값을 읽습니다
int threshold;
cin >> threshold;
// TODO: filterNumbers 함수를 호출하고 결과를 저장하세요
// TODO: 요구된 형식에 따라 필터링된 개수와 숫자들을 출력하세요
return 0;
}로직과 흐름의 모든 레슨
직접 연습해 보세요: 온라인 C++ 컴파일러