알고리즘/백준

[백준] 1764. 듣보잡

빙빙 2021. 4. 6. 14:25

1. 듣지 못한 명단을 리스트로 받고

2. 보지 못한 명단도 리스트로 받는다

3. 두가지 리스트를 set으로 집합으로 만들어준다음 교집합을(&) 구한 뒤에 다시 list로 만들어준다.

4. 듣도보도 못한 리스트를 사전순으로 sort해주고 출력

 

처음에 그냥 리스트 in을 사용해서 처리해줬는데 시간초과가 떴다. 리스트를 다 보아야해서 시간이 오래걸리는 것 같다. :(


N, M =map(int,input().split())
no_hear = []
no_see = []
no_list = []
for i in range(N):
    a = input()
    no_hear.append(a)
for i in range(M):
    b = input()
    no_see.append(b)
    ####  in으로 했더니 시간초과!!!!!!!!!!!!!
    # if b in no_hear:
    #     no_list.append(b)
#리스트를 집합으로 만들어주고 교집합을 구한뒤 다시 리스트로 바꾼다.
no_list = list(set(no_hear) & set(no_see))
#사전순
no_list.sort()

print(len(no_list))
for i in range(len(no_list)):
    print(no_list[i])