728x90

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

 

14425번: 문자열 집합

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

www.acmicpc.net

 

 

# 조건

  • 총 N개의 문자열로 이루어진 집합 S가 주어진다.
  • 입력으로 주어지는 M개의 문자열 중 집합 S에 포함되어 있는 것이 총 몇 개인지 구하여라.
 

# 접근 방법

  • 딕셔너리를 이용하여 집합 S에 포함되는 문자열들을 기록해준다.
  • 이후 M개의 줄을 돌며 딕셔너리에 있다면 +1을 해준다.
import sys  
sys.stdin = open('input.txt')  
input = sys.stdin.readline  
  
  
N, M = map(int, input().split())  
  
word = dict()  
for i in range(N):  
    word[input()] = 1  
  
cnt = 0  
for j in range(M):  
    if input() in word:  
        cnt += 1  
  
print(cnt)

 

728x90