- 듣도 보도 못한 문제
https://www.acmicpc.net/problem/1764
1. 문제
김진영이 소식을 듣지 못한 사람과 신고하지 않은 사람의 목록을 가져오는 프로그램을 작성하세요.
2. 문제 해결
1) 미신고자 수 N, 미신고자 수 M을 얻는다.
2) 미신고 미신고자가 입력됩니다.
3) 듣지 못한 사람이 입력되면 HashSet에 저장된다.
4) 모르는 사람의 입력을 받았을 때 HashSet에 있으면 ArrayList에 저장한다.
5) ArrayList를 정렬합니다.
6) 의도한 출력 형식으로 출력합니다.
3. 코드
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.util.StringTokenizer;
import java.util.HashSet;
import java.util.ArrayList;
import java.util.Comparator;
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());
StringBuilder sb = new StringBuilder();
int result = 0;
int N = Integer.parseInt(st.nextToken());
int M = Integer.parseInt(st.nextToken());
HashSet<String> hash = new HashSet<>();
ArrayList<String> answer = new ArrayList<>();
for(int i=0;i<N;i++) {
hash.add(br.readLine());
}
for(int i=0;i<M;i++) {
String input = br.readLine();
if(hash.contains(input)){
result++;
answer.add(input);
}
}
answer.sort(Comparator.naturalOrder());
sb.append(result).append("\n");
for(int i=0;i<answer.size();i++)
{
sb.append(answer.get(i)).append("\n");
}
System.out.print(sb);
}
}