💡 문제 해결 아이디어
내가 생각한 아이디어
- "진출"지점에 대해서 오름차순으로 정렬한다.
- 기준 = -30001 (문제 제한사항을 고려함)
- cnt = 0
- for 경로 in 경로들:
- 만약 경로의 진입지점이 기준보다 뒤에 있으면,
- return cnt
🛠 피드백
- 진출지점에 대해서 오름차순으로 정렬해야, 진출지점에 카메라가 있다고 가정했을 때, 그 이후의 경로들의 진입지점이 진출지점보다 앞서면, 반드시 그 카메라에 단속된다고 장담할 수 있다.
💻 작성한 코드
def solution(routes):
# 진출지점에 대해서 오름차순 정렬
routes.sort(key=lambda x: x[1])
# 기준은 제한사항 참조
key = -30001
# 필요한 카메라 수
cnt = 0
for route in routes:
# 기준(카메라)보다 진입지점이 뒤에 있으면
if route[0] > key:
# 단속이 안되기에 카메라 하나 더 필요
cnt += 1
# 새로운 기준은 해당 경로의 진출지점(맨끝)
key = route[1]
return cnt