풀이 방법
contains의 시간복잡도가 list보다 set이 좋아서 먼저 hashset에 듣도 못한 사람을 넣어주고 보도 못한 사람을 contains으로 확인 후 있으면 list에 넣어주었다.
출력할 때는 sort를 이용해서 사전순으로 정렬 후 출력했다.
내 코드
package com.company;
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<>();
ArrayList<String> list = new ArrayList<>();
for (int i = 0; i < N; i++) {
String s = br.readLine();
set.add(s);
}
for (int i = 0; i < M; i++) {
String s = br.readLine();
if (set.contains(s)) {
list.add(s);
}
}
Collections.sort(list);
System.out.println(list.size());
for (String s : list) {
System.out.println(s);
}
}
}
'코딩테스트 > [백준] 코딩테스트 연습' 카테고리의 다른 글
돌다리 건너기 - 2602번 (0) | 2021.10.06 |
---|---|
괄호 제거 - 2800번 (0) | 2021.10.06 |
평범한 배낭 - 12865번 (0) | 2021.10.05 |
징검다리 건너기 - 21317번 (0) | 2021.10.05 |
스티커 - 9465번 (0) | 2021.10.05 |