[백준] 3052. 나머지

문제

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

풀이

총 10개의 정수를 입력 받아 각 정수를 42로 나눈 나머지들 중 다른 숫자들이 몇개인지 구하는 문제.
우선 입력받는 정수 10개를 담을 배열을 생성하고, 42로 나눈 나머지를 담는 배열을 생성한다.
반복문을 통해 arr 배열에 숫자를 입력 받아 담고 그 값을 42로 나눈 나머지 값을 index로 두어 count 배열에 +1씩 해준다.
그리고 count 배열로 반복문을 돌린 다음 각 index의 값이 0이 아닌 것을 카운트해준다. (different++) ⇒ count[i]가 0이 아니라는 것은 나머지값이 존재한다는 의미.(count[42] = 1 → 나머지 42가 존재. 값이 1이든 2이든 관계없음)

코드

import java.util.Scanner;

public class Q_3052 {
	public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

		int[] arr = new int[10];
		int[] count = new int[42];
		int different = 0;
		
		for(int i = 0; i < arr.length; i++) {
			arr[i] = sc.nextInt();
			count[arr[i] % 42]++;
		}
		
		for(int i = 0; i < count.length; i++) {
			if(count[i] != 0) different++;
		}
		System.out.println(different);

좋은 웹페이지 즐겨찾기