[Python] 단속카메라

2026. 3. 24. 17:44·Coding-Test/프로그래머스
728x90
반응형

💻 문제 정의

고속도로를 이동하는 모든 차량이 고속도로를 이용하면서 단속용 카메라를 한 번은 만나도록 카메라를 설치하려고 합니다.

고속도로를 이동하는 차량의 경로 routes가 매개변수로 주어질 때, 모든 차량이 한 번은 단속용 카메라를 만나도록 하려면 최소 몇 대의 카메라를 설치해야 하는지를 return 하도록 solution 함수를 완성하세요.

💡 접근 및 설계

각 차량의 경로 끝 부분을 기준으로 해당 차량이 경로를 나가기 전에 카메라를 만날 수 있도록 카메라를 놓는다고 생각해보자. [-20, -15]의 차량을 잡기 위해 -15지점에 카메라를 설치하면, 이후에 등장하는 차량들 중에서 -15보다 전에서 등장하는 차량도 함께 잡을 수 있다. 만약 시작지점이 -15보다 크다면 해당 차량이 나가는 지점에 카메라를 한 대 더 놓는다.

✏️ 알고리즘 풀이

routes.sort(key=lambda x : x[1])
    
camera = 1
check = routes[0][1]
for start, end in routes:
    if start <= check:
        continue
    
    else:
        check = end
        camera += 1

경로를 각 차량이 고속도로를 나가는 기점을 기준으로 정렬한다. 이후 앞서 설명처럼 카메라를 적절히 배치한다.

🗒️ 최종 제출 코드

def solution(routes):
    routes.sort(key=lambda x : x[1])
    
    camera = 1
    check = routes[0][1]
    for start, end in routes:
        if start <= check:
            continue
        
        else:
            check = end
            camera += 1
    
    return camera

💭 오늘의 회고

-

728x90
반응형
저작자표시 (새창열림)

'Coding-Test > 프로그래머스' 카테고리의 다른 글

[Python] 순위  (0) 2026.03.28
[Python] 징검다리  (1) 2026.03.25
[Python] 섬 연결하기  (0) 2026.03.23
[Python] 구명보트  (0) 2026.03.22
[Python] 조이스틱  (0) 2026.03.21
'Coding-Test/프로그래머스' 카테고리의 다른 글
  • [Python] 순위
  • [Python] 징검다리
  • [Python] 섬 연결하기
  • [Python] 구명보트
희완
희완
희완한 코딩일상
    반응형
  • 희완
    Code-Heewan
    희완
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Python
        • 가상환경
      • Algorithm
      • Coding-Test
        • 백준
        • 프로그래머스
        • 항해99
      • Data-Analysis
      • 웹 개발
        • django
      • AWS
      • 공모전
      • Mobile
  • 링크

    • Github
  • 300x250
  • hELLO· Designed By정상우.v4.10.3
희완
[Python] 단속카메라
상단으로

티스토리툴바