알고리즘/그리디

[프로그래머스] 단속카메라 - 파이썬(python)

아뵹젼 2022. 9. 17.

 

나의 풀이

def solution(routes):
    routes.sort(key = lambda item : item[1])
    camera = 0
    min_spot = -30001
    
    for start, finish in routes :
        if start <= min_spot and finish>= min_spot :
            continue
        else :
            min_spot = finish
            camera += 1
    return camera
  • 차량이 고속도로에서 나간 지점을 오름차순으로 정렬한다.
  • 이전 차량이 만난 카메라의 지점을 min_spot 으로 지정하고, 
  • 만약 현재 차량이 min_spot 을 만날 수 있다면 반복문을 넘어간다. ->
  • if start <= min_spot and finish>= min_spot :
                continue
  • 그렇지 않다면 내 차량이 마지막으로 빠져나가는 지점을 min_spot 으로 지정하고, camera 개수를 하나 더 늘린다.

 

 

+ 왜 level 3 인지 모르겠는 문제...? 그리디로 분류된 문제 중에 가장 쉬웠던 것 같다.

댓글