입력 받은 수(10개)를 42로 나눈 나머지를 배열에 저장
배열에 들어갈 수 있는 수는 0 ~ 41
10번의 반복문으로 42로 나눈 나머지를 배열에 저장 -> 배열의 총 크기는 10
이후, 서로 다른 값들을 다른 배열에 저장하여 배열의 총 크기를 구한다
-> 수행할 알고리즘이 많아짐
10번의 반복문으로 42로 나눈 나머지와 일치하는 배열 인덱스에 저장 -> 배열의 총 크기는 42
중복된 수는 같은 인덱스로 들어가므로 따로 서로 다른 값들을 판별할 필요가 없음
#include <iostream>
using namespace std;
int main(){
int num, arr[42], sum=0;
fill_n(arr,42,0);
for(int i=0;i<10;i++){
cin >> num;
arr[num % 42] = 1;
}
for(int i=0;i<42;i++){
if(arr[i]==1) sum++;
}
cout << sum << endl;
return 0;
}