나머지(3052)

2577과 비슷한 문제

문제

두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다.

수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오.

입력

첫째 줄부터 열번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다.

출력

첫째 줄에, 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지 출력한다.

예제 입력

1
2
3
4
5
6
7
8
9
10

예제 출력

10

각 수를 42로 나눈 나머지는 1,2,3,4,5,6,7,8,9,10 이다

예제 입력2

42
84
252
420
840
126
42
84
420
126

예제 출력2

1

모든 수를 42로 나눈 나머지는 0이다.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int rest[] = new int[10];
        int count = 0;
        for (int i = 0; i < 10; i++) {
            rest[i] = sc.nextInt()%42;
        }

        for (int i=0; i<10; i++) {
            int tmp = 0;
            for (int j = i+1; j < 10; j++) {
                if(rest[i] == rest[j]){
                    tmp++;
                }
            }
            if(tmp == 0){
                count++;
            }
        }
        System.out.println(count);

    }
}
  1. 10개의 숫자를 입력받아서 배열에 집어넣음

  2. 10개의 숫자중에 중복이 있는지 확인하기 위해서 변수를 설정

  3. 같은 값이있는지 확인하기 위해서 0부터 9까지도는 i변수와 1부터 9까지 도는 j변수를 이용해서 rest배열안의 수를 비교하고 만약 중복되는 값이 없다면 체크를 해준다

  4. 만약 같은 값이 있다면 카운팅을 더해줌

두 번째 시도

정말 소름돋게도 변수명만 바뀌고 똑같이 문제를 풀어서 여러모로 소름이 돋았다.. 쉬운문제라 그런가.... 꾸준하게 문제풀자 화이팅!

Last updated

Was this helpful?