엄지월드

백준 14425 문자열 집합 본문

알고리즘

백준 14425 문자열 집합

킨글 2024. 9. 8. 12:14

설명

한번 읽고 어떻게 문제를 풀으라고 하는 것인지 잘 이해가 안갔다. 

입력 받은 문자를 보니 16줄이었다. 

다시 보니, N이 5이고 M이 11이었는데 N의 갯수만큼 5줄의 문자열이 주어지고, 11줄의 M의 문자열이 주어진것이었다.

그래서 Set에 5가지 N을 모두 넣은 후, 11가지 M을 순회하면서 contains로 포함되어 있으면 result 값을 1씩 늘려주었다.

 

코드

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.HashSet;
import java.util.Set;
import java.util.StringTokenizer;

public class Main {

    // 14425
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        StringTokenizer st = new StringTokenizer(br.readLine());
        int N = Integer.parseInt(st.nextToken());
        int M = Integer.parseInt(st.nextToken());
        Set<String> set = new HashSet<>();
        for (int i = 0; i < N; i++) {
            String input = br.readLine();
            set.add(input);
        }

        int result = 0;
        for (int i = 0; i < M; i++) {
            String input = br.readLine();
            if(set.contains(input)) {
                result++;
            }
        }
        bw.write(result + "");

        bw.flush();
        bw.close();
    }
}

'알고리즘' 카테고리의 다른 글

백준 10816 숫자 카드 2  (0) 2024.09.10
백준 4949 균형잡힌 세상  (0) 2024.09.09
백준 1158 요세푸스 문제  (0) 2024.09.07
백준 24039 2021은 무엇이 특별할까?  (0) 2024.09.04
백준 14606 피자 (Small)  (0) 2024.08.30
Comments