알고리즘

[SWEA, 탐욕 알고리즘] 화물 도크

hminor 2023. 8. 9. 10:50

문제 해결 방법으로는
시작 시간과 종료 시간을 기준으로 화물차 작업 시간을 담은 배열을 내림차순 정렬

그리고 가장 중요했던 포인트로
오름차순 정렬을 한 뒤 종료 시간과 현재 시작 시간을 비교하며 나아가보니
중간에 시간을 많이 차지하는 경우가 있더라도 그냥 체크를 하고 넘어가서 문제가 되기에

내림차순 정렬을 해서 조사를 하는 것이 포인트가 되는 것 같다.

for tc in range(1, int(input())+1):
    n = int(input())
    form = [list(map(int,input().split())) for _ in range(n)]
    form.sort(key=lambda x:(x[0], x[1]), reverse=True)
    result = 0
    for x in range(n):
        s,e = form[x]
        check = 1 
        for i in range(x+1, n):
            now_s, now_e = form[i]
            if s >= now_e: s, check = now_s, check+1
        if check > result: result = check
    print('#%d'%tc, end=' ')
    print(result)