백준
백준 14425: 문자열 집합(java)
unhyepnhj
2024. 7. 19. 15:06
문제

풀이
앞의 탐색 문제들과 동일하게 풀이한다. N, S에 포함된 문자열, M, 검사해야 하는 문자열들을 입력받은 후 nArr에 대해 이진 탐색을 진행해 mArr[i] 요소가 포함되었는지 판단해 주면 된다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
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());
String[] nArr=new String[N];
for(int i=0; i<N; i++) {
nArr[i]=br.readLine();
}
Arrays.sort(nArr);
String[] mArr=new String[M];
for(int i=0; i<M; i++) {
mArr[i]=br.readLine();
}
int count=0;
for(int i=0; i<M; i++) {
int bin=Arrays.binarySearch(nArr, mArr[i]);
if(bin>-1)
count++;
}
System.out.println(count);
}
}