1. 문제

14425번: 문자열 집합



2. 개요

총 N개의 문자열로 이루어진 집합 S가 주어진다.

입력으로 주어지는 M개의 문자열 중에서 집합 S에 포함되어 있는 것이 총 몇 개인지 구하는 문제.



3. 풀이 및 코드

3-1. 풀이

문자열을 Set에 넣고 존재하면 답을 1만큼 늘려주면 끝.

3-2. Python

import sys

N, M = map(int, sys.stdin.readline().split())

answer = 0
stringset = set()
for i in range(N):
    stringset.add(sys.stdin.readline().rstrip())

for i in range(M):
    s = sys.stdin.readline().rstrip()

    if s in stringset:
        answer += 1

print(answer)

3-3. C#

namespace boj_14425
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int answer = 0;

            string[] input = Console.ReadLine().Split();
            
            int N = int.Parse(input[0]);
            int M = int.Parse(input[1]);

            HashSet<string> set = new HashSet<string>();

            for (int i = 0; i < N; i++)
                set.Add(Console.ReadLine().Trim());

            for (int i = 0; i < M; i++)
            {
                string s = Console.ReadLine().Trim();

                if (set.Contains(s))
                    answer++;
            }

            Console.WriteLine(answer);
        }
    }
}

Comments