소스코드

#include <stdio.h>
#include <stdlib.h>

int main (){
	int num[10];
	int lef[42];
	int i, left;
	int ans = 0;
	
	for (i=0; i<42; i++){
		lef[i] = 0;
	}
	
	for (i=0; i<10; i++){
		scanf("%d", &num[i]);
		left = num[i]%42;
		lef[left]++;
	}
	
	for (i=0; i<42; i++){
		if (lef[i] != 0) ans++;
	}
	printf("%d", ans);
}

유의: a != b

해설

나머지 42개만큼 배열 칸을 만들고, 해당 index에 저장하는 것을 생각 못함...

풀이법은 우선 int num[10]을 선언하고 나머지 배열은 42칸으로 선언

나머지 배열을 모두 0으로 맞춰주고 for문으로 10개 상수 scan / 나머지는 나머지 배열 해당 index에 +1

나머지 배열이 0이 아닌 개수를 세서 출력하면 됨

복사했습니다!