ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [백준][BOJ][JAVA]3052_나머지
    백준 2022. 7. 26. 14:17

    나머지

    문제

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

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

    입력

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

    출력

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

    예제 입력 1 복사

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    

    예제 출력 1 복사

    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이다.

    예제 입력 3 복사

    39
    40
    41
    42
    43
    44
    82
    83
    84
    85
    

    예제 출력 3 복사

    6
    

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

     

    .

    package 백준;
    
    import java.util.Scanner;
    
    public class 백준3052 {
        public static void main(String[] args) {
            //스캐너 만들기
            Scanner scan = new Scanner(System.in);
            
            //10개의 숫자 배열 만들고 입력받은 후 42로 나눈 나머지 값 저장
            int[] arr= new int[10];
    
            for(int i = 0 ; i < 10 ; i++){
                arr[i] = scan.nextInt()%42;
            }
    
            //배열 값 중 중복 값이 있는지 없는지 비교
    				//값이 같다면 result값이 올라가기에 result가 0일 때만 결과값 1 증가
            int sum =0;
            for (int i = 0 ; i < 10 ; i++){
                int result=0;
                for(int j = 9 ; j > i ; j--){
                    if (arr[i] == arr[j])
                        result++;
                }
                if(result ==0) sum++;
            }
    		//결과값 출력
        System.out.println(sum);
        }
    }

    배열 값 중복 for문에서 전 좀 구웠다 ...

    728x90

    댓글

Designed by Tistory.
티스토리 친구하기