글 작성자: 취업중인 피터팬
728x90

https://www.acmicpc.net/problem/3052

 

3052번: 나머지

각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다.

www.acmicpc.net

나머지를 배열에다 넣은 후 중복제거한 후의 총 개수를 물어보는 문제입니다.

서로 다른 값이라는 뜻을 몰라서 한참 고민했습니다.

나머지 배열을 하나씩 비교해 같은 값이면 나머지가 될 수 없는 -1로 변경하여 -1이 아닌 개수를 구해 결과를 출력하도록 하였습니다.

 

정답

import java.util.*;

public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int[] arr = new int[10];
        int[] remainder = new int[10];
        int reNum = 0;
        
        for(int i = 0; i < 10; i++){
            arr[i] = sc.nextInt();
            remainder[i] = arr[i] % 42;
        }
        
        for(int i = 0; i < 10; i++){
            for(int j = 0; j < 10; j++){
                if(remainder[i] == remainder[j] && i != j){
                    remainder[j] = -1;
                }
            }
        }
        
        for(int i = 0; i < 10; i++){
            if(remainder[i] != -1){
                reNum++;
            }
        }
        
        
        System.out.println(reNum);
        
    }
}