Cherry & Cherish

[Python3] SWEA 화물도크 5202 본문

Algorithm/SWEA

[Python3] SWEA 화물도크 5202

앵도라지 2023. 1. 28. 19:47

문제 :

24시간 운영되는 물류센터에는 화물을 싣고 내리는 도크가 설치되어 있다.
0시부터 다음날 0시 이전까지 A도크의 사용신청을 확인해 최대한 많은 화물차가 화물을 싣고 내릴 수 있도록 하면, 최대 몇 대의 화물차가 이용할 수 있는지 알아내 출력하는 프로그램을 만드시오.
신청서에는 작업 시작 시간과 완료 시간이 매시 정각을 기준으로 표시되어 있고, 앞 작업의 종료와 동시에 다음 작업을 시작할 수 있다.
예를 들어 앞 작업의 종료 시간이 5시면 다음 작업의 시작 시간은 5시부터 가능하다.

 

접근 :

종료 시간을 기준으로 정렬해서 값을 갱신한다.

 

풀이 :

T = int(input())

for tc in range(1, T+1):
    N = int(input())
    arr = [list(map(int, input().split()))for _ in range(N)]
    arr2 = sorted(arr, key=lambda x: x[1])

    cnt = 0
    now = 0

    for i in range(N):
        start = arr2[i][0]
        end = arr2[i][1]

        if now <= start:
            cnt += 1
            now = end

    print("#{} {}".format(tc, cnt))

 

'Algorithm > SWEA' 카테고리의 다른 글

[Python3] SWEA 이분탐색 5207  (0) 2023.02.01
[Python3] SWEA 퀵 정렬 5205  (0) 2023.01.31
[Python3] SWEA 연산 5247  (0) 2023.01.30
[Python3] SWEA 컨테이너 운반 5201  (0) 2023.01.27
Comments