소스코드
#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이 아닌 개수를 세서 출력하면 됨
'solving > C, C++' 카테고리의 다른 글
[백준] 1157번 단어 공부 (0) | 2022.08.28 |
---|---|
[백준] 10809번 알파벳 찾기 (ASCII 코드로 소-대문자, 소문자-숫자 변환) (0) | 2022.08.27 |
[백준] 2908번 상수 (atoi, sprintf, 문자열 선언) (0) | 2022.08.27 |
[백준] 2577번 숫자의 개수 (sprintf) (0) | 2022.08.27 |
[백준] 8958번 OX퀴즈 (0) | 2022.08.27 |