Algorithm/Algorithm Problem

백준 1764 듣보잡(set() 자료형)

땅지원 2022. 3. 26. 18:34

그냥 단순하게 중복을 제외시키는 문제이지만 list를 이용하여 if - in 을 이용하면 시간초과가 난다.

 

#시간초과

import sys
input = sys.stdin.readline
n,m = list(map(int,input().split()))
data = []
data1 = []

for _ in range(n):
    data.append(input())

for _ in range(m):
    data1.append(input())

res = 0
ans = []
for i in data:
    if i in data1:
        res += 1
        ans.append(i)
print(res)
ans.sort()
for i in ans:
    print(i)

 

따라서 집합 자료형을 써서 교집합의 성질을 이용하면 쉽게 풀 수 있다.

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

a = set()
for i in range(n):
    a.add(input())

b = set()
for i in range(m):
    b.add(input())

res = sorted(list(a & b))

print(len(res))

for i in res:
    print(i)