반응형
문제
두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다.
수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오.
문제 설명
힌트를 보면 이해가 쉽다.
배열에 10개의 나머지 값을 집어넣고 중복을 걸러내는 문제이다.
배열의 중복을 거르는 방법은 밑의 블로그를 참고해 HashSet을 사용했다.
https://m.blog.naver.com/pgh7092/221130579329
JAVA 자바 리스트(List) 중복 제거하는 3가지 방법
자바에서 중복을 제거하는 방법은 여러 가지가 있다. 본 포스팅에서는 총 3가지 방법에 대해서 설명한다. 1...
blog.naver.com
성공 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashSet;
public class Main{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader((System.in)));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter((System.out)));
ArrayList arr = new ArrayList();
for (int i = 0; i < 10; i++){
int a = Integer.parseInt(br.readLine());
arr.add(a % 42);
}
HashSet arr2 = new HashSet(arr);
ArrayList result = new ArrayList(arr2);
bw.write(result.size() + "");
bw.flush(); bw.close();
}
}
|
cs |
반응형