[프로그래머스] 42884. 단속카메라 - 파이썬
https://school.programmers.co.kr/learn/courses/30/lessons/42884
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
그리디하게 풀어내면 어렵지 않게 풀 수 있다.
크게 생각할 거리가 없었던 문제.
풀이
routes 배열을 우선 진출 지점 기준으로 정렬해준 뒤,
배열을 하나씩 순회하며 검사.
- 범위 안에 카메라가 없다면
- 진출 지점에 카메라를 설치 (가장 적게.. Greedy하게 카메라를 설치하게 되는 최적의 위치)
- 범위 안에 카메라가 이미 설치되었다면
- continue
from collections import deque
def solution(routes):
routes = deque(sorted(routes, key=lambda x: (x[1], x[0])))
camera = -30001
answer = 0
while routes:
car = routes.popleft()
if camera >= car[0] and camera <= car[1]:
continue
else:
camera = car[1]
answer += 1
return answer