https://www.acmicpc.net/problem/1764
문자열 Set을 이용하여 듣도 못한 사람을 저장, 이후 ArrayList에 듣도 보도 못한 사람을 저장
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));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine());
int n = Integer.parseInt(st.nextToken());
int m = Integer.parseInt(st.nextToken());
HashSet<String> set = new HashSet<>();
for (int i = 0; i < n; i++) {
set.add(br.readLine());
}
ArrayList<String> answer = new ArrayList<>();
for (int i = 0; i < m; i++) {
String str = br.readLine();
if (set.contains(str))
answer.add(str);
}
bw.write(answer.size()+"\n");
Collections.sort(answer);
for (String str : answer) {
bw.write(str+"\n");
}
bw.flush();
bw.close();
br.close();
}
}
Collections.sort()
는 List 인터페이스만 사용할 수 있다.
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());
int n = Integer.parseInt(st.nextToken());
int m = Integer.parseInt(st.nextToken());
HashSet<String> set = new HashSet<>();
for (int i = 0; i < n; i++) {
set.add(br.readLine());
}
ArrayList<String> answer = new ArrayList<>();
for (int i = 0; i < m; i++) {
String str = br.readLine();
if (set.contains(str))
answer.add(str);
}
StringBuilder sb = new StringBuilder();
sb.append(answer.size() + "\n");
Collections.sort(answer);
for (String str : answer) {
sb.append(str + "\n");
}
System.out.println(sb);
}
}