728x90
파이썬을 사용하였습니다.
주어진 예시를 그림처럼 나타낼 수 있습니다.
겹치는 부분이 없는 부분은 카메라를 추가해야 합니다.
가장 왼쪽에서 출발하는 차량은 한번은 카메라에 찍혀야 하기 때문에 시작하는 차량의 범위내에 있는 차량들은
카메라를 추가하는 대상에서 제외 할 수 있습니다.
(노랑, 파랑, 초록) (빨강, 노랑) 두 개의 범위로 나뉘어 집니다.
이 부분을 고민하면 알고리즘은 간단하게 구현할 수 있습니다.
정답 코드
(코드는 간단하게 작성하였기 때문에 찬찬히 읽어보시기 바랍니다.)
def solution(routes):
answer = 1
routes = sorted(routes,key=lambda x:x[0])
length = routes[0][1]
for i in range(len(routes)-1):
if length > routes[i][1]:
length = routes[i][1]
if length < routes[i+1][0]:
length = routes[i+1][1]
answer += 1
return answer
728x90
'IT 이야기 > 알고리즘 공부' 카테고리의 다른 글
[Programmers] 섬 연결하기 (0) | 2020.11.26 |
---|---|
[Programmers] 숫자 게임 (0) | 2020.11.20 |
[Programmers] 추석 트래픽 2018 카카오 블라인드 코딩 테스트 (0) | 2020.11.18 |
[Programmers] 주식가격 (0) | 2020.11.17 |
[Programmers] 풍선 터트리기 (0) | 2020.11.16 |
댓글