단속카메라

bird.j·2021년 6월 29일
0

프로그래머스

목록 보기
23/53

프로그래머스

어떻게 풀어야할까 고민이 많았는데 찾아보니 간단했다.

def solution(routes):
    answer = 0
    routes = sorted(routes, key=lambda x : x[1])
    camera = -30001
    
    for route in routes:
        if camera < route[0]:
            answer += 1
            camera = route[1]
            
    return answer

우선 나가는 지점을 중심으로 오름차순 정렬을 한다.
[[-18, -13], [-14, -5], [-5, -3], [-20, 15]]

그 다음 문제에서 주어진 조건으로 차량의 진입 지점, 진출 지점은 -30,000 이상이라고 했으므로 -30001지점에 카메라가 있다고 임의로 설정한다.

그 다음 routes의 원소를 순회하면서 진입지점이 카메라위치보다 크면 카메라를 만나지 못한 것이므로 카메라 수인 answer를 카운트 업하고 나가는 지점에 카메라를 추가로 세운다. 그리고 카메라의 위치를 갱신한다.

0개의 댓글