for idx in range(1, int(input())+1):
n = int(input()) # 신청서 n
time = [tuple(map(int, input().split())) for _ in range(n)]
# 작업 끝나는 시간을 기준으로 오름차순 정렬
# 빨리 끝나는 작업을 앞으로 둬야 계산을 많이 해볼 수 있기 때문이다.
time.sort(key=lambda x: x[1])
answer = 0
temp_e = 0 # 이전 작업의 종료 시간
for s, e in time:
if temp_e <= s: # 현 작업 시작 시간과 이전 작업의 종료 시간이 안겹치면
answer += 1
temp_e = e # 갱신
print('#{} {}'.format(idx, answer))
비슷한 문제 추천
https://www.acmicpc.net/problem/1931
'Algorithm > SW Expert Academy' 카테고리의 다른 글
[Python] 5204. 병합 정렬 (0) | 2021.10.07 |
---|---|
[Python] 5203. 베이비진 게임 (0) | 2021.10.05 |
[Python] 5201. 컨테이너운반 (0) | 2021.10.05 |
[Python] 5189. 전자카트 (0) | 2021.10.03 |
[Python] 1244. 최대 상금 (1) | 2021.10.01 |