본문 바로가기

백준

[JAVA] 백준 3052.

728x90
반응형
SMALL


제목 : 나머지 (no.3052)


 



문제 출처

3052번: 나머지 (acmicpc.net)

 

3052번: 나머지

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

www.acmicpc.net


문제

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

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


Input

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

 

Output

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



Ex.Input 1

1
2
3
4
5
6
7
8
9
10

Ex.Output 1

10

Ex.Input 2

42
84
252
420
840
126
42
84
420
126

Ex.Output 2

1

Ex.Input 3

39
40
41
42
43
44
82
83
84
85

Ex.Output 3

6


Code

import java.util.Scanner;

public class Main {
    public static void main(String[] args){
    	Scanner xx = new Scanner(System.in);
        int[] basket = new int[42];
        int count = 0;
        
        // 바구니 숫자 바꾸기
        for (int i = 0; i < 10; i++) {
			int num = xx.nextInt(); 
			basket[(num%42)] = (num%42)+1;
        }
        
        // 결과물 출력
        for (int i = 0; i < 42; i++) {
        	if (basket[i] >= 1) {
				count++;
			}
        }
        System.out.println(count);
    }
}

쉽게 생각하면된다.

 

결과물을 미리 만들어놓은 배열에 집어넣는다고 생각하면 손쉽게 풀 수 있다.

 

그렇게 생각하면 중복된 값이 들어간다해도 상관없기 때문이다.

 

다만 이 문제처럼 일정 범위와 값이 정해져 있기에 이렇게 풀 수 있는것이다.(아니면 복잡해진다)

 

 

 

 

 

 

티스토리와 깃허브 홈
 

학스의 개발일지

안녕하세요 일상과 코딩공부를 올리고 있는 JAVA개발자 학스입니다. 저는 주로 JAVA, jQuery, PostgreSQL, HIVE을 다루고 있고 코딩테스트공부도 병행중입니다. 제 깃허브 주소인 https://github.com/hacs2772에

hacs2772.tistory.com

 

 

hacs2772 - Overview

개발왕 학스. hacs2772 has 8 repositories available. Follow their code on GitHub.

github.com

 

 

 

오류나 궁금하신점은
아래 댓글로 알려주시면 감사하겠습니다.
728x90
반응형
LIST

'백준' 카테고리의 다른 글

[JAVA] 백준 10988.  (0) 2023.10.10
[JAVA] 백준 1316.  (1) 2023.10.06
[JAVA] 백준 10813.  (1) 2023.10.05
[JAVA] 백준 10951.  (2) 2023.10.04
[JAVA] 백준 10811.  (0) 2023.09.27