줴림이 공부하줴림
5202. [파이썬 S/W 문제해결 구현] 3일차 - 화물 도크 본문
이번 문제는 '화물 도크' 문제이다. 간단하게 설명하면, 0시부터 24시까지 사용 가능한 도크를 최대 몇 대의 화물차가 쓸 수 있는지를 묻고 있다.
T = int(input())
for test_case in range(1, T+1):
N = int(input())
arr = [list(map(int, input().split())) for _ in range(N)]
sorted_arr = sorted(arr, key=lambda x: x[1]) # 종료 시간 기준 정렬
answer = 0 # 최대 이용 가능한 화물차 개수
now_e = 0 # 앞 신청서 종료 시간
for i in range(N):
s = sorted_arr[i][0] # 시작 시간
e = sorted_arr[i][1] # 종료 시간
if now_e <= s: # 앞 신청서 종료 시간보다 뒷 신청서 시작 시간 늦어야 함
answer += 1
now_e = e
print(f"#{test_case} {answer}")
처음에 시작 시간으로 정렬할지 종료 시간으로 정렬할지 고민 좀 했었다. 근데 아무래도 비교하는 주체가 종료 시간이다보니, 종료 시간 기준으로 정렬하는 게 좋을 것 같았다.
'Study > SWEA' 카테고리의 다른 글
5204. [파이썬 S/W 문제해결 구현] 4일차 - 병합 정렬 (0) | 2025.04.25 |
---|---|
5203. [파이썬 S/W 문제해결 구현] 3일차 - 베이비진 게임 (0) | 2025.04.24 |
5201. [파이썬 S/W 문제해결 구현] 3일차 - 컨테이너 운반 (0) | 2025.04.23 |
5189. [파이썬 S/W 문제해결 구현] 2일차 - 전자카트 (0) | 2025.04.21 |
5188. [파이썬 S/W 문제해결 구현] 2일차 - 최소합 (0) | 2025.04.21 |