백준 / 접두사 찾기 / 14426

박성완·2022년 4월 27일
0

백준

목록 보기
75/78
post-thumbnail

Question

문제링크
Silver 4

Logic

기본 구조 : dictionary
1. 집합 S를 리스트로 입력받는다.
2. 테스트 단어들을 리스트로 입력받는다.
3. 집합 S의 단어들을 접두사로 분리하여 딕셔너리의 키로 하여 1로 저장한다.
4. 테스트 단어들을 키로 입력하여 key error가 발생하지 않으면 1을 증가시킨다.

Code

from sys import stdin

N,M = map(int,stdin.readline().rstrip().split())
S = [stdin.readline().rstrip() for _ in range(N)]
test = [stdin.readline().rstrip() for _ in range(M)]

dic = {}

for ss in S:
    for i in range(1,len(ss)+1): dic[ss[:i]] = 1

cnt = 0
for t in test:
    try:
        cnt += dic[t]
    except KeyError:
        pass

print(cnt)

0개의 댓글