욤미의 개발일지

[Programmers] 단속카메라 (Python) 본문

Coding Test/프로그래머스

[Programmers] 단속카메라 (Python)

욤미 2023. 4. 21. 20:12
728x90
반응형
 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

문제

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

구현


  
# 모든 차량이 한 번은 단속용 카메라를 만나도록 하려면 최소 몇대의 카메라를 설치해야하는지
def solution(routes):
routes.sort() # 들어온 지점에 따라 오름차순 정렬
answer = 1 # 카메라 개수
start, end = routes[0][0], routes[0][1]
for i in routes[1:]:
if start <= i[0] <= end:
start = i[0] # 범위안에 있으면 시작점을 바꿔줌
end = min(end, i[1])
else:
start, end = i[0], i[1]
answer += 1 # 범위 안에 없기때문에 카메라 추가
return answer

다른 풀이


  
# 역순으로 정렬해서 풀이
def solution(routes):
answer = 0
routes.sort(key=lambda x: x[0], reverse=True)
camera = 30001
print(routes)
for route in routes:
print(camera, route[1])
if camera > route[1]:
answer += 1
camera = route[0]
return answer
728x90
반응형

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

[Programmers] 큰 수 만들기 (Python)  (0) 2023.04.21
[Programmers] 문자열 압축 (Python)  (0) 2023.04.21
Comments