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

 

14426번: 접두사 찾기

문자열 S의 접두사란 S의 가장 앞에서부터 부분 문자열을 의미한다. 예를 들어, S = "codeplus"의 접두사는 "code", "co", "codepl", "codeplus"가 있고, "plus", "s", "cude", "crud"는 접두사가 아니다. 총 N개의 문자

www.acmicpc.net

 

 

단순히 반복문으로 찾는 문자가 맨 앞부터 시작하는지 확인했다.

Python 으로 하니 시간초과가 떠서, Pypy로 제출했는데

다른 방법이 있는지 생각해봐야겠다.

 

#접두사 : 맨 앞 부터 시작해야함.

import sys
input = sys.stdin.readline

n,m = map(int,input().split())

word = [input().strip() for _ in range(n)]
check = [input().strip() for _ in range(m)]

cnt = 0

#적어도 하나의 접두사인지 출력
for i in range(m):
    for j in range(n):
        if check[i] == word[j][0:len(check[i])]:
            cnt += 1
            break

print(cnt)

+ Recent posts