def solution(routes):
answer = 0
status = [0] * len(routes)
routes.sort(key=lambda x:x[1])
for i in range(len(routes)):
if status[i] != 0:
continue
for j in range(i, len(routes)):
if routes[i][1] >= routes[j][0]:
status[j] = 1
answer += 1
return answer
1. routes
의 길이 만큼 상태를 저장하는 배열 status
를 만든다.
routes
를 정렬한다.2. routes
배열을 for문을 돌리면서 i번째 인덱스를 검사한다.
status
의 i번째 인덱스가 1이면, 이미 단속 카메라를 만난 것이다.routes[i][1] >= routes[j][0]
이면 겹치는 지점이 생긴 것으로 status 원소 값을 1로 바꿔준다.answer
값을 1 올려준다.ex) [-20, 15], [-18, -13]은 15 > -18
이기에 겹치는 부분이 생기고 단속 카메라를 1대 설치해주면 된다.