Algorithm

[Python] 백준 14425 풀이

도라프 2022. 2. 23. 10:16

백준 14425 파이썬 풀이

1) 풀이

m, n = map(int, input().split())
s = []
results = 0 
for i in range(m):
    j = input().split()
    s.append(j)
for i in range(n):
    k = input().split()
    if k in s: 
        results +=1
print(results)

(시간 초과 나왔던 풀이에서는)

result += 1 부분이

for i in range(m):
    if k == s(i):
        results += 1

이었다.

Trie로 푸는 방법이 있다고 해서 시도해보려고 했는데 그전에 이 풀이에 오기가 생겨서 조금만 수정을 보기로 했다. (채점과정이 너무 오래걸렸다.)

2) 풀이 2

import sys
input = sys.stdin.readline
m, n = map(int, input().split())
s = {input().rstrip() for _ in range(m)}
results =0 
for i in range(n):
    k = input().rstrip()
    if k in s:
        results +=1
print(results)   

이렇게 받으니 바로 채점 완료되고 맞았다고 나왔다.

다음에는 Trie 알고리즘을 배워보도록 하겠다.