시간복잡도 안넘기면 그냥 내장함수로 편하게 ㅎㅎ
- intersect 연산
s & t일때 O(len(s)+len(t))
N, M은 500,000 이하의 자연수이므로
O(N)+O(M) = 1억이하
- sort 연산
내장함수 sort의 시간복잡도는 O(NlogN)
N, M은 500,000 이하의 자연수이므로
log(500000 * log500000) = 2,849,485.XXXX = 1억이하 = 1초이하
D_num, B_num = map(int, input().split())
D_arr = []
B_arr = []
for _ in range (D_num) :
D_arr.append(input())
for _ in range (B_num) :
B_arr.append(input())
intersect = list(set(D_arr) & set(B_arr))
intersect.sort()
print(len(intersect))
for name in intersect :
print(name)
통과!