1764 듣보잡 문제 링크
문제

#1
import java.awt.*;
import java.io.*;
import java.util.*;
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());
Set<String> Hll = new HashSet<>();
String ll;
for(int i=0; i<N; i++) {
ll = br.readLine();
Hll.add(ll);
}
ArrayList<String> All = new ArrayList<>();
for(int i=0; i<M; i++) {
ll = br.readLine();
if(Hll.contains(ll)) All.add(ll);
}
Collections.sort(All);
bw.write(All.size()+"\n");
for(String A : All) {
bw.write(A+"\n");
}
bw.flush();
bw.close();
}
}

- 내 눈엔 똑같아 보이는데
- 배열보다 set에서 검색하는게 더 빠른가봐..
set은 탐색할 때 O(1)입니다
배열은 O(n)이에요!