JuSeok

3052번

문제

  • 10개의 정수를 입력 받아 각각 42로 나눴을 때 서로 다른 값이 몇 개 있는지 출력하는 문제
문제 해결 순서
  1. 42로 나눴을 때 나올 수 있는 나머지는 0~41까지 총 42개 이므로 길이 42의 배열을 선언한다.
  2. 반복문을 10번 돌며 배열의 입력 받은 수 % 42번째를 +1 해준다.
  3. 반복문을 42번 돌며 remainder의 i번째 값이 0이 아니면 해당 i번째의 나머지 값이 있었다는 뜻이므로 정답을 +1 해준다.
import java.util.Scanner;
class Main {
  public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);
    int[] remainder = new int[42];
    int answer = 0;
    for(int i = 0; i < 10; i++){
      remainder[scan.nextInt() % 42] += 1;
    }

    for(int i = 0; i < 42; i++){
      if(remainder[i] != 0){
        answer++;
      }
    }

    System.out.print(answer);
  }
}

Tags