본문 바로가기

백준/셋

문자열 집합 - JAVA

728x90

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.IOException;
import java.io.InputStreamReader;
import java.util.HashSet;
import java.util.StringTokenizer;

public class StringSet {
    public static void main(String[] args) throws IOException {
        int n,m;
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());

        n = Integer.parseInt(st.nextToken());
        m = Integer.parseInt(st.nextToken());

        HashSet<String>hs = new HashSet<>();
        String gets = "";
        for(int i=0; i<n; i++){
            gets = br.readLine();
            hs.add(gets);

        }
        int count =0;
        String checks ="";
        for(int i=0; i<m; i++){
            checks = br.readLine();
            if(hs.contains(checks)){
                count++;
            }
        }

        System.out.println(count);


    }
}