그냥 단순하게 중복을 제외시키는 문제이지만 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)
'Algorithm > Algorithm Problem' 카테고리의 다른 글
백준 18243 Small World Network(플로이드-와샬, BFS) (0) | 2022.04.07 |
---|---|
10816 숫자 카드 2(Hashmap, Counter) (0) | 2022.04.02 |
백준 1780 종이의 개수 (0) | 2022.03.06 |
백준 2667 단지번호붙이기(BFS, DFS) (0) | 2022.03.06 |
백준 18111 마인크래프트 (0) | 2022.02.17 |