본문 바로가기
알고리즘/백준

[JAVA]백준_14425_문자열집합

by 박 현 황 2021. 6. 23.

문제링크

https://www.acmicpc.net/problem/14425

 

14425번: 문자열 집합

첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다.  다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다. 다음 M개의 줄에는 검사해야 하는 문자열들이 주어

www.acmicpc.net

 

HashMap을 사용하여 HashMap에 저장 후 key값을 비교하면 된다.

 

 

package BOJ;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.StringTokenizer;

public class Main_14425 {
    static int N,M;
    static HashMap<String,Integer> map;
    static int result;
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());

        N = Integer.parseInt(st.nextToken()); //집합 S에 포함되어 있는 문자열
        M = Integer.parseInt(st.nextToken()); //검사해야할 문자열
        map = new HashMap<>();

        for(int i=0;i<N;i++){
            map.put(br.readLine(),1);
        }

        for(int i=0;i<M;i++){
            String chk = br.readLine(); //검사해야할 문자열

            if(map.get(chk) != null) result++;
        }


        System.out.println(result);

    }
}

'알고리즘 > 백준' 카테고리의 다른 글

[JAVA] 백준_2468_안전영역  (0) 2021.06.24
[JAVA]백준_10814_나이순정렬  (0) 2021.06.23
[JAVA]백준_20053_최소,최대2  (0) 2021.06.23
[JAVA]백준_9421_소수상근수  (0) 2021.06.23
[JAVA]백준_20114_미아노트  (0) 2021.06.17