문제
풀이
- 길이가 42인 배열을 선언, 모두 -1로 초기화
- 42로 나눈 나머지가 0이면 인덱스 0에, 나머지가 1이면 인덱스 1에.. 저장
- 값이 -1이 아닌 요소의 갯수를 찾아 count를 증가시킴
- count값 출력
코드
import java.util.*;
public class Main {
public static void main(String[] args){
//10개의 정수 입력받기 (0<=N<=1,000)
//길이가 42인 배열 선언
//42로 나눈 나머지를 구해서 해당하는 인덱스에 저장
//배열에 저장된 값의 갯수 구하기
Scanner sc = new Scanner(System.in);
int N = 10;
int M = 42;
int count = 0;
int[] arr = new int[M];
for(int i=0; i<M; i++) {
arr[i] = -1;
}
for(int i=0; i<N; i++) {
int num = sc.nextInt();
for(int j=0; j<M; j++) {
int remain = num%42;
arr[remain] = remain;
}
}
for(int i=0; i<M; i++) {
if(arr[i]!=-1)
count++;
}
System.out.print(count);
}
}
Note
- 나머지를 저장할 배열의 초기값을 0으로 지정했음 >> '나머지가 0인 경우'를 놓치고 count를 세어 틀림