(BOJ/JAVA) 백준 14425: 문자열 집합(Java)

문제 정보

문제 이름 – 문자열 세트
어려움실버 III
문제 번호 – 제14425호


문제 연결

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

14425호: 현 세트

문자열의 수 N과 M(1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)은 첫 번째 줄에 지정됩니다. 세트 S에 포함된 문자열은 다음 N 행에 지정됩니다. 확인할 문자열은 다음 M 행에 지정됩니다.

www.acmicpc.net


문제

총 N개의 문자열로 구성된 집합 S가 주어집니다.
입력으로 주어진 M 문자 중에서 집합 S의 총 문자 수를 찾는 프로그램을 작성하십시오.


기입

문자열의 수 N과 M(1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)은 첫 번째 줄에 지정됩니다.
세트 S에 포함된 문자열은 다음 N 행에 지정됩니다.
다음 M 행에는 확인할 문자열이 포함됩니다.
입력으로 주어지는 문자열은 알파벳 소문자로만 구성되며 500자 이하이다. 집합 S에서 같은 문자열이 두 번 이상 주어지는 경우는 없다.


누르다

첫 번째 줄에는 집합 S에 포함된 M 문자열의 수를 표시합니다.


예제 입력/출력

예제 입력 샘플 출력
5 11
baekjoononlinejudge
startlink
codeplus
sundaycoding
codingsh
baekjoon
codeplus
codeminus
startlink
starlink
sundaycoding
codingsh
codinghs
sondaycoding
startrink
icerink
4

알고리즘 분류

● 데이터 구조
● 문자열
● 해시를 사용한 세트 및 매핑
● 나무가 있는 세트 및 카드


소스 코드

package Lv2_Silver;

import java.io.*;
import java.util.*;

/**
 * @author HanHoon
 * @category 자료 구조, 문자열, 해시를 사용한 집합과 맵, 트리를 사용한 집합과 맵
 * https://www.acmicpc.net/problem/14425
 */
public class BOJ_S3_14425_문자열_집합 {
    public static void main(String() args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        StringBuilder str = new StringBuilder();

        // N: 포함되어 있는 문자열 수
        int N = Integer.parseInt(st.nextToken());
        // M: 검사해야하는 문자열 수
        int M = Integer.parseInt(st.nextToken());

        // 중복 테스트를 위한 문자열 집합 S
        HashMap<String, Character> S = new HashMap<>();
        for (int n = 0; n < N; n++)
            S.put(br.readLine(), ' ');

        int result = 0;
        for (int m = 0; m < M; m++)
            // 값이 존재한다면 개수 증가
            if(S.containsKey(br.readLine()))
                result++;

        str.append(result);

        System.out.print(str);
        br.close();
    }
}


백준 목록

백준 목록

BOJ 런칭!! ● (BOJ) 백준 회원가입 시작 방법 ● (BOJ) Solved.AC 평가(Tier) 및 적용 ● (BOJ/JAVA) 백준 소스코드 제출 시 주의사항(Java) Bronze ● Bronze V – ● Bronze IV – ● Bronze III -..

한훈.tistory.com


준비된 자에게 기회는 찾아옵니다.