아래포스팅을 통해 문제를 볼 수 있습니다!!
https://www.acmicpc.net/problem/1546
문제
두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다.
수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오.
입력
첫째 줄부터 열번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다.
출력
첫째 줄에, 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지 출력한다.
힌트
39, 40, 41, 42, 43, 44, 82, 83, 84, 85를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 모두 6개가 있다.
풀이
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
public class Main {
public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
Set<Integer> set = new HashSet<Integer>();
int [] input =new int [10];
for(int i=0;i<10;i++) {
input[i]=(sc.nextInt())%42;
}
for(int temp:input) {
set.add(temp);
}
System.out.println(cnt);
}
}
|
배열의 중복제거 문제입니다. 일일히 반복문으로 중복을 제거하는 방법도 있겠지만 저는 기본적으로 중복을 제거해주는 SET에 대입해 봤습니다. 배열을 SET에 42로 나눈 나머지 10개를 add하면 중복이 제거된 값들이 return됩니다.ㅇㅅㅇ
반응형
'Algorithms > BOJ[Java]' 카테고리의 다른 글
[Bakjoon/8958번] OX퀴즈 [Java] (0) | 2019.11.28 |
---|---|
[Bakjoon/1546번] 평균 [Java] (0) | 2019.11.28 |
[Bakjoon/2920] 음계 [Java] (0) | 2019.11.26 |
[Bakjoon/2562번] 최댓값 [Java] (0) | 2019.11.26 |
[Bakjoon/10818번] 최소,최대 [Java] (0) | 2019.11.26 |