본문 바로가기
Programming/Programmers

[프로그래머스] 단속카메라 (Python)

by 데이터현 2021. 10. 28.

https://programmers.co.kr/learn/courses/30/lessons/42884

 

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

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

programmers.co.kr

그렇게 어렵지 않았던 문제였다.

 

자동차를 정렬하고 카메라 범위를 좁혀가면 풀렸다.

 

나의 풀이

def solution(routes):
    answer = 1
    check = [-30001,30001]
    routes.sort()
    for route in routes:
        print(check,route)
        if check[0] <= route[0] <= check[1]:
            check[0] = route[0]
            if check[0] <= route[1] <= check[1]:
                check[1] = route[1]
        else:
            answer +=1
            check[0],check[1] = route[0],route[1]
    return answer

다른 사람 풀이

 

아래 풀이는 도착 시간을 기점으로 정렬하여 풀이한 깔끔한 풀이인 것 같아 가져왔다.

def solution(routes):
    routes = sorted(routes, key=lambda x: x[1])
    last_camera = -30001

    answer = 0

    for route in routes:
        if last_camera < route[0]:
            answer += 1
            last_camera = route[1]

    return answer

댓글