3052번
문제
- 10개의 정수를 입력 받아 각각 42로 나눴을 때 서로 다른 값이 몇 개 있는지 출력하는 문제
문제 해결 순서
- 42로 나눴을 때 나올 수 있는 나머지는 0~41까지 총 42개 이므로 길이 42의 배열을 선언한다.
- 반복문을 10번 돌며 배열의
입력 받은 수 % 42번째를 +1 해준다. - 반복문을 42번 돌며
remainder의 i번째 값이 0이 아니면 해당 i번째의 나머지 값이 있었다는 뜻이므로 정답을 +1 해준다.
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int[] remainder = new int[42];
int answer = 0;
for(int i = 0; i < 10; i++){
remainder[scan.nextInt() % 42] += 1;
}
for(int i = 0; i < 42; i++){
if(remainder[i] != 0){
answer++;
}
}
System.out.print(answer);
}
}