반응형
1. 문제 추상화
1차 추상화
10개의 입력 받은 수를 42로 나누었을 때 나오는 서로 다른 나머지가 몇 개 있는지 출력하시오.
2차 추상화
10개의 나머지 중 중복을 제거하여 서로 다른 나머지 개수를 구하시오
2. 알고리즘
HashSet 자료구조를 활용하여 중복제거하기
3. 풀이
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.HashSet;
public class Main {
public static void main(String[] args) throws NumberFormatException, IOException {
// TODO Auto-generated method stub
// HashSet은 내부에서 중복값을 제거함. 그러므로 HashSet을 이용하여 중복제거 가능
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
HashSet<Integer> duplicateDelete = new HashSet<Integer>();
for( int i=0; i<10;i++) {
duplicateDelete.add(Integer.parseInt(br.readLine())%42);
}
bw.write(duplicateDelete.size()+"");
bw.flush();
bw.close();
br.close();
}
}
반응형
'문제풀이' 카테고리의 다른 글
[JAVA] 백준 10809번 알파벳 찾기 : 아스키코드 (0) | 2021.07.11 |
---|---|
[JAVA] 백준 1065번 한수 : 등차수열 (0) | 2021.07.10 |
[JAVA] 백준 1546번 평균 : 교환, 결합, 분배법칙 (0) | 2021.07.10 |
[JAVA] 백준 2884번 알람시계 : 시간 (0) | 2021.07.10 |
[JAVA] 백준 4673번 셀프넘버 : 아리토스테네스의 체 (0) | 2021.07.10 |