반응형
Hashset을 이용해서 풀 수 있는 문제입니다.
< 풀이 과정 >
1. 해쉬셋 생성 후 N번 동안 듣지도 못 한 사람을 입력을 받고 저장합니다.
2. 출력 명단을 생성한 뒤에 M번 보도 못한 사람들을 입력을 받고 그 이름이 Hashset에 있다면 출력 명단에 넣습니다.
3. 사전순(오름차순)으로 출력을 해야하기 때문에 정렬을 한 뒤에 정답을 출력합니다.
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
HashSet<String> hashSet = new HashSet<>();
int N = Integer.parseInt(st.nextToken());
int M = Integer.parseInt(st.nextToken());
for (int i = 0; i < N; i++) {
hashSet.add(br.readLine());
}
ArrayList<String> arrayList = new ArrayList<>();
for (int i = 0; i < M; i++) {
String s = br.readLine();
if(hashSet.contains(s)) {
arrayList.add(s);
}
}
Collections.sort(arrayList);
System.out.println(arrayList.size());
for (String s : arrayList) {
System.out.println(s);
}
}
}
반응형
'백준 > Hash & Tree' 카테고리의 다른 글
백준 20291 자바 (0) | 2022.08.24 |
---|---|
백준 10867 자바 (0) | 2022.08.23 |
백준 25192 자바 (0) | 2022.08.23 |
백준 14425 자바 (0) | 2022.08.21 |
백준 1620 자바 (0) | 2022.08.20 |