import sys
N, M = map(int, sys.stdin.readline().split())
S = set(sys.stdin.readline().strip() for _ in range(N))
count = 0
for _ in range(M):
query = sys.stdin.readline().strip()
if query in S:
count += 1
print(count)
문자열 탐색 문제를 해결하기 위해 문자열 탐색에 쓸 수 있는 방법을 찾아보았다. 문자열 탐색에 사용할 수 있는 건 해쉬 테이블, 파이썬에서 집합 자료형 SET이나 Dict 을 사용하는 것이다.
위 코드는 set 을 이용하여 풀어보았다.
아래는 dict 을 사용하여 풀어본 코드이다.
import sys
N, M = map(int, sys.stdin.readline().split())
S = {sys.stdin.readline().strip(): True for _ in range(N)}
count = 0
for _ in range(M):
query = sys.stdin.readline().strip()
if query in S:
count += 1
print(count)
my_dict = {'apple': 5, 'banana': 3, 'orange': 2}
print(my_dict['apple']) # 5 출력
my_dict['banana'] = 4
print(my_dict) # {'apple': 5, 'banana': 4, 'orange': 2}
my_set = {1, 2, 3, 2, 3}
print(my_set) # {1, 2, 3} 출력
my_set.add(4)
print(my_set) # {1, 2, 3, 4}