[백준,BOJ 3052] 나머지(JAVA 구현)
코테/백준 온라인 저지(BOJ)

[백준,BOJ 3052] 나머지(JAVA 구현)

반응형

-해법

import java.util.*;

public class Main{
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        
        boolean arr[] = new boolean[42];
           
        int num,cnt = 0;
        
        for(int i=0;i<10;i++){
           num = in.nextInt();        
           if(!arr[num%42]) {
        	   arr[num%42] = true;
        	   cnt++;
           }
        }
      
        System.out.println(cnt);
        
        in.close();
    }
}

  42로 나누어 나올 수 있는 가장 큰 나머지는 자기 자신의 이전 수인 41이므로 boolean타입 42 크기의 배열을 생성한 뒤, 데이터를 입력받는 10번의 과정에서 나머지를 구해 해당 인덱스를 true로 변경해줌과 동시에 cnt를 증가시킨다. 조건문을 통해 한 번 체크된 인덱스는 고려하지 않으므로 중복 체크될 일이 없기 때문에 여기서 구한 cnt가 서로 다른 나머지의 수가 된다.

반응형