여름의 서재

[SWEA] 5202_화물 도크 본문

알고리즘/SWEA

[SWEA] 5202_화물 도크

엉아_ 2021. 10. 5. 20:41
728x90

📕 문제

https://swexpertacademy.com/main/learn/course/lectureProblemViewer.do

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

💡 풀이법

1. 먼저 끝나는 시간을 기준으로 내림차순 정렬을 한다.

2. 가장 앞의 작업부터 시작하면서 앞의 end 변수를 작업이 끝나는 시간으로 변경한다.

3. while문을 돌면서 그 다음 작업의 시작 시간과 비교해 시작 시간이 전 작업의 끝나는 시간보다 더 크면 작업을 할 수 있기 때문에 하는 ans를 +1 해준다

 

T = int(input())
for tc in range(1, T+1):
    N = int(input())
    time_list = [list(map(int, input().split())) for _ in range(N)]
    time_list = sorted(time_list, key=lambda x: x[1])
    i = 0
    l = len(time_list)
    ans = 0
    end = 0
    while i < l:
        if time_list[i][0] >= end:
            ans += 1
            end = time_list[i][1]
        i += 1
    print('#{} {}'.format(tc, ans))

'알고리즘 > SWEA' 카테고리의 다른 글

5203_베이비진 게임  (2) 2021.10.05
[SWEA] 5201_컨테이너 운반  (0) 2021.10.05
[SWEA] 5189_전자카트  (0) 2021.10.05
[SWEA] 5188_최소합  (0) 2021.10.05
[SWEA] 2806_N-Queen  (0) 2021.10.05
Comments