원본 : https://www.acmicpc.net/problem/14425
14425번: 문자열 집합
첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다. 다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다. 다음 M개의 줄에는 검사해야 하는 문자열들이 주어
www.acmicpc.net
풀이
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.HashSet;
import java.util.Set;
import java.util.StringTokenizer;
public class Main {
private static final BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
private static final StringBuilder stringBuilder = new StringBuilder();
public static void main(String[] args) throws Exception {
StringTokenizer stringTokenizer = new StringTokenizer(bufferedReader.readLine(), " ");
int n = Integer.parseInt(stringTokenizer.nextToken());
int m = Integer.parseInt(stringTokenizer.nextToken());
Set<String> stringSet = new HashSet<>();
for (int i = 0; i < n; i++) {
stringSet.add(bufferedReader.readLine());
}
int count = 0;
for (int i = 0; i < m; i++) {
if (stringSet.contains(bufferedReader.readLine())) {
count++;
}
}
System.out.println(stringBuilder.append(count));
}
}
댓글 영역