고속도로를 이동하는 모든 차량이 고속도로를 이용하면서 단속용 카메라를 한 번은 만나도록 카메라를 설치하려고 합니다.
고속도로를 이동하는 차량의 경로 routes가 매개변수로 주어질 때, 모든 차량이 한 번은 단속용 카메라를 만나도록 하려면 최소 몇 대의 카메라를 설치해야 하는지를 return 하도록 solution 함수를 완성하세요.
routes | return |
---|---|
[-20,15], [-14,-5], [-18,-13], [-5,-3]] | 2 |
-5 지점에 카메라를 설치하면 두 번째, 네 번째 차량이 카메라를 만납니다.
-15 지점에 카메라를 설치하면 첫 번째, 세 번째 차량이 카메라를 만납니다.
def solution(routes):
answer = 0
routes.sort(key=lambda x:(x[1],x[0])) #진출 기준으로 정렬
e=-30001
for r in routes:
s=r[0]
if s<=e: #진입지점이 이전의 진출지점보다 전이면 카메라 설치안해도됨
continue
answer+=1
e=r[1]
return answer
문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/42884