java/백준 알고리즘

[백준 알고리즘 / 1차원배열] 3052번 : 나머지 - JAVA

각시탈코더 2023. 3. 28. 13:26

💡문제

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

 

3052번: 나머지

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

www.acmicpc.net

💡정답

import java.util.Arrays;
import java.util.Scanner;

public class no3052 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int M ;
		int[] arr = new int[10];
		int count = 0;
		
		// 수를 입력함과 동시에 나머지를 구해 배열 arr에 넣는다.
		for(int i=0; i<=arr.length-1; i++) {
			M = sc.nextInt();
			arr[i]= M % 42;
		}
		
		sc.close();
		
		// 배열에 담긴 값의 비교를 위해 크기대로 정렬한다.
		Arrays.sort(arr);
		
		// 특정수를 42로 나눈 나머지 값이 있는 배열 arr을 j번째와 j+1를 비교하여 값이 다르면 count를 1증가시킨다.
		for(int j=0; j<arr.length-1; j++) {
			if(arr[j] != arr[j+1]) {
				count++;
			}
		}
		System.out.println("서로 다른 값은"+count+"개 입니다.");
	}

}

 

💡문제접근방법

1.입력받을 수를 42로 나눈 나머지 값을 담는 배열을 만든다.

2.배열의 N번째와 N+1번째 수를 비교하여 특정문자(count)의 수를 +1한다.