개발일기

(백준)14425번 문자열 집합 본문

Algorithm/집합과 맵

(백준)14425번 문자열 집합

한둥둥 2022. 11. 21. 17:01

14425번: 문자열 집합 (acmicpc.net)

 

14425번: 문자열 집합

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

www.acmicpc.net

 

가장 우선적으로 이 문제를 풀기 위해서는 HashMap을 만들고 거기에 Key, Value값을 저장해주었다. 이 때 value는 1로 Key값을 문자열들을 넣어주었으며 이때 containsKey함수를 이용해서 안에 똑같은 문자열이 있는지 찾아주는게 목표이다. 

코드

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

public class Baekjoon {
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        int num1 = Integer.parseInt(st.nextToken());
        int num2 = Integer.parseInt(st.nextToken());

        HashMap<String,Integer> hashMap = new HashMap<>();
        for(int i = 0; i < num1; i++){
            String inputString = br.readLine();
            hashMap.put(inputString,1);
        }
        int answer = 0;
        for(int i = 0; i < num2; i++){
            String inputString = br.readLine();
            boolean flag=hashMap.containsKey(inputString);
            if(flag){
                answer++;
            }
        }
        System.out.println(answer);
    }
}

 

 

'Algorithm > 집합과 맵' 카테고리의 다른 글

백준 1620 포켓몬 문제  (1) 2022.11.21