https://www.acmicpc.net/problem/14425
https://github.com/stellaluminary/Baekjoon
n개의 입력(집합 S), m개의 입력이 별도로 주어지고 m개의 입력에 대하여 집합 S에 있는지 판별하는 코드를 작성해야 한다.
import sys
input = sys.stdin.readline
n,m = map(int, input().split())
ns = [input().rstrip() for _ in range(n)]
cnt = 0
for i in range(m):
t = input().rstrip()
if t in ns:
cnt += 1
print(cnt)
dict는 해시이므로 훨신 빠르다.
import sys
input = sys.stdin.readline
n,m = map(int, input().split())
d = dict()
cnt = 0
for _ in range(n):
s = input().rstrip()
d[s] = 1
for i in range(m):
t = input().rstrip()
if t in d:
cnt += 1
print(cnt)
set 역시 dict만큼 빠르다. list가 가장 느리다.
물론 그만큼 메모리 사용이 늘어남
import sys
input = sys.stdin.readline
n,m = map(int, input().split())
s = set([input().rstrip() for _ in range(n)])
cnt = 0
for _ in range(m):
t = input().rstrip()
if t in s:
cnt += 1
print(cnt)