문제풀이/그리디

[파이썬] [그리디] Pro 단속카메라

승무_ 2022. 2. 19. 11:17

문제

https://programmers.co.kr/learn/courses/30/lessons/42884?language=python3 

 

코딩테스트 연습 - 단속카메라

[[-20,-15], [-14,-5], [-18,-13], [-5,-3]] 2

programmers.co.kr

 

코드

def solution(routes):
    answer = 0
    
    # 나가기 전에 한번만 찍히면 되므로
    routes.sort(key=lambda x:x[1])
    camera=-30000
    
    for i,j in routes:
        if i<= camera <=j:
            continue
        else:
            answer+=1
            camera=j
    
    return answer

생각 정리

1. 진출 지점 기준으로 오름 차순 정렬합니다. 
2. 최대 -30000이니 초기 카메라 위치를 -30001로 초기화 해줍니다.
3. routes 배열을 반복하면서 카메라가 진입 지점(route[0])보다 작은지 확인합니다.
작다면, 현재 카메라 위치로 해당 차량을 만나지 못했다는 의미이니
4-1. 카메라를 추가로 세우고
4-2. 가장 최근 카메라의 위치(route[1])를 갱신합니다.