728x90
문제
김진영이 듣도 못한 사람의 명단과, 보도 못한 사람의 명단이 주어질 때, 듣도 보도 못한 사람의 명단을 구하는 프로그램을 작성하시오.
풀이
풀이 키워드
- 어떻게 풀어도 계속 시간 초과 발생
- List, dictionary 자료 형 모두 시간 초과
- set 자료형을 이용하고 시간 단축 해결
import sys
if __name__ == '__main__':
N, M = map(int, sys.stdin.readline().split())
data1 = set()
data2 = set()
for i in range(N):
data1.add(input())
for i in range(M):
data2.add(input())
result = sorted(list(data1 & data2))
print(len(result))
for i in result:
print(i)
4. sys.stdin.read().splitlines() 로 한번에 문서를 읽고 시간 단축 +
import sys
if __name__ == '__main__':
N, M = map(int, sys.stdin.readline().split())
AllList = sys.stdin.read().splitlines()
set1 = set(AllList[:N])
set2 = set(AllList[N:])
result = list(set1 & set2)
result.sort()
print(len(result))
for i in result:
print(i)
'코드연습 > BOJ' 카테고리의 다른 글
BOJ 10815 : 숫자 카드 (0) | 2022.06.14 |
---|---|
BOJ 2477 : 참외밭 (0) | 2022.06.08 |
BOJ 2004 : 조합 0의 개수 (0) | 2022.05.09 |
BOJ 2981 : 검문 (0) | 2022.04.28 |
BOJ 2609 : 최대공약수와 최소공배수 (0) | 2022.04.27 |