요약 - 중복 없는 숫자
Coddy C++ 여정의 로직과 흐름 섹션에 포함된 레슨 — 56개 중 40번째.
챌린지
쉬움일련의 정수를 읽고 std::set을 사용하여 중복을 자동으로 필터링한 다음, 고유한 숫자의 개수를 출력하는 프로그램을 작성하세요. 이는 수동으로 중복을 확인하지 않고도 고유한 요소의 컬렉션을 유지하는 set의 주요 장점을 보여줍니다.
다음과 같은 입력이 제공됩니다:
- 입력될 숫자의 개수를 나타내는 정수
n - 그 다음 처리할
n개의 정수
프로그램은 다음을 수행해야 합니다:
- 비어 있는
std::set<int>을 생성합니다. - 입력될 정수의 개수를 읽습니다.
- 루프를 사용하여 각 정수를 읽고
.insert()메서드를 사용하여 set에 삽입합니다. - 모든 숫자를 처리한 후,
.size()메서드를 사용하여 고유한 숫자의 개수를 가져옵니다. - 발견된 고유 숫자의 개수를 보여주는 결과를 출력합니다.
다음과 같은 정확한 출력 형식을 사용하세요:
Unique numbers: [count]set은 중복 제거를 자동으로 처리합니다. 이미 존재하는 숫자를 삽입하려고 하면 set은 중복 삽입을 무시합니다. 즉, 중복을 수동으로 확인할 필요가 없습니다. 단순히 모든 숫자를 삽입하면 set이 고유성을 유지해 줍니다. set의 최종 크기는 입력에 포함된 서로 다른 숫자의 개수를 정확히 나타냅니다.
직접 해보기
#include <iostream>
#include <set>
using namespace std;
int main() {
// 정수의 개수를 읽습니다
int n;
cin >> n;
// 고유한 정수를 저장할 빈 세트를 생성합니다
set<int> uniqueNumbers;
// TODO: 여기에 코드를 작성하세요
// 루프를 사용하여 n개의 정수를 읽고 세트에 삽입합니다
// 결과 출력
cout << "Unique numbers: " << uniqueNumbers.size() << endl;
return 0;
}