티스토리 뷰
문제 접근
- (그리디) routes 배열을 제일 빨리 끝나는 순으로 정렬을 하고 생각해보자. 하나의 차량이 고속도로를 빠져나가기 직전 순간에, 그 차량과 함께 달리고 있는 모든 차량들을 단속 카메라로 찍으면 매 순간마다 최적의 답을 찾는 셈이다.
- (정렬) 빨리 끝나는 순으로 정렬을 할 뿐만 아니라, 함께 끝나는 차량 중에서도 더 빨리 진입하는 차량을 우선으로 배치해야 한다. 동일한 시간에 끝나는 차량이지만 어떤 차는 일찍 고속도로에 진입할 수 있기 때문에, 그 전에 미리 달리던 차량이 이탈했을 경우 함께 이탈시켜야 한다.
코드
def solution(routes):
routes.sort(key=lambda a: [a[1], a[0]])
answer = 0
pointer = 0
start, target_end = routes[0]
while True:
while pointer < len(routes):
start = routes[pointer][0]
if start > target_end: break
target_end = min(target_end, routes[pointer][1])
pointer += 1
answer += 1
if pointer >= len(routes): break
start, target_end = routes[pointer]
return answer
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- protobuf
- tree
- 프로그래머스
- 샤딩
- spring boot
- 이해
- DB
- Everything Everywhere All at Once
- Docker
- 리뷰
- 역직렬화
- 하이재킹
- kotlin
- 듄
- 영화 후기
- dp
- cicd
- dfs
- 듄 파트 2
- 정규화
- 직렬화
- 행동분석
- 영화
- 파티셔닝
- json
- 누적합
- 인문
- 후기
- 인덱스
- csv
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
글 보관함