Algorithm/SW Expert Academy

[Python] 5202. 화물도크

느낌표 공장장 2021. 10. 5. 17:01
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

 

1931번: 회의실 배정

(1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다.

www.acmicpc.net

 

'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