문제
https://school.programmers.co.kr/learn/courses/30/lessons/42884
내 풀이
3가지 경우의 수 존재
1. 두 경로가 서로 포함관계 일경우 - 진출지점이 더 작은 값인 쪽에 설치(=짧은 경로)
2. 일부분이 겹치는 경우 - 진출지점이 더 작은 값인 쪽에 설치
3. 아예 안겹치는 경우 - 따로따로 설치
'''
3가지 경우의 수 존재
1. 두 경로가 서로 포함관계 일경우 - 진출지점이 더 작은 값인 쪽에 설치(=짧은 경로)
2. 일부분이 겹치는 경우 - 진출지점이 더 작은 값인 쪽에 설치
3. 아예 안겹치는 경우 - 따로따로 설치
'''
def solution(routes):
#진출 지점이 작은 값부터 정렬
routes.sort(key = lambda x: x[1])
# 첫번째 경로의 도착지점에 카메라 설치함을 가정하고 시작
answer = 1
pre_camera = routes[0][1]
#[i번째 차량이 고속도로에 진입한 지점, 나간 지점]
for s, e in routes:
# 이전 카메라 설치 지점과 시작지점이 겹치지 않으면 새로 설치
if pre_camera < s:
answer += 1
pre_camera = e
return answer
'개발 > Algorithm' 카테고리의 다른 글
| [프로그래머스/42583/level2/고득점kit] 다리를 지나는 트럭 - 큐, sum 사용 시간초과 해결 (0) | 2023.09.05 |
|---|---|
| [프로그래머스/42628/level3/고득점kit] 이중우선순위큐 - 최소힙,최대힙 (0) | 2023.09.02 |
| [프로그래머스/42626/level2/고득점kit] 더 맵게 - Heap 정렬 / 우선순위 큐 / 최소 힙 (0) | 2023.08.30 |
| [프로그래머스/42861/level3/고득점kit] 섬 연결하기 - 최소신장트리, 크루스칼 Kruskal 알고리즘 (0) | 2023.08.22 |
| [프로그래머스/42862/level1/고득점kit] 체육복 - 그리디 (0) | 2023.08.14 |