카테고리 없음

파이썬 듣보잡(실버4)

rlarudals 2025. 1. 20. 18:20

시간초과

import sys

n, m = map(int, sys.stdin.readline().split())

a = []
b = []

for _ in range(n):
    a.append(input())
for _ in range(m):
    b.append(input())

result = []

for i in a:
    if i in b:
        result.append(i)

result.sort()
print(len(result))
for r in result:
    print(r)

 

내가 처음 작성한건 시간이 초과됬다 

for i in a:
    if i in b:
        result.append(i)

 

아마 이부분 때문에 그런것 같다.

 

import sys

n, m = map(int, sys.stdin.readline().split())

# a = []
# b = []
#
# for _ in range(n):
#     a.append(input())
# for _ in range(m):
#     b.append(input())
#
# result = []
#
# for i in a:
#     if i in b:
#         result.append(i)
#
# result.sort()
# print(len(result))
# for r in result:
#     print(r)

a = set()
b = set()

for _ in range(n):
    a.add(input())
for _ in range(m):
    b.add(input())

result = sorted(list(a&b))
print(len(result))

for k in result:
    print(k)

 

정답코드이다.

 

& 중복된거 출력

| set 합칠때 사용