From 6c452654684b4513c840381e9ada7c873612dd4e Mon Sep 17 00:00:00 2001 From: SSUM <116950962+ssum21@users.noreply.github.com> Date: Fri, 7 Mar 2025 23:18:19 +0900 Subject: [PATCH] =?UTF-8?q?[level=203]=20Title:=20=EB=8B=A8=EC=86=8D?= =?UTF-8?q?=EC=B9=B4=EB=A9=94=EB=9D=BC,=20Time:=200.88=20ms,=20Memory:=201?= =?UTF-8?q?0.5=20MB=20-BaekjoonHub?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 프로그래머스/3/42884. 단속카메라/README.md | 56 +++++++++++++++++++ .../3/42884. 단속카메라/단속카메라.py | 15 +++++ 2 files changed, 71 insertions(+) create mode 100644 프로그래머스/3/42884. 단속카메라/README.md create mode 100644 프로그래머스/3/42884. 단속카메라/단속카메라.py diff --git a/프로그래머스/3/42884. 단속카메라/README.md b/프로그래머스/3/42884. 단속카메라/README.md new file mode 100644 index 0000000..66f016b --- /dev/null +++ b/프로그래머스/3/42884. 단속카메라/README.md @@ -0,0 +1,56 @@ +# [level 3] 단속카메라 - 42884 + +[문제 링크](https://school.programmers.co.kr/learn/courses/30/lessons/42884) + +### 성능 요약 + +메모리: 10.5 MB, 시간: 0.88 ms + +### 구분 + +코딩테스트 연습 > 탐욕법(Greedy) + +### 채점결과 + +정확성: 50.0
효율성: 50.0
합계: 100.0 / 100.0 + +### 제출 일자 + +2025년 03월 07일 23:18:16 + +### 문제 설명 + +

고속도로를 이동하는 모든 차량이 고속도로를 이용하면서 단속용 카메라를 한 번은 만나도록 카메라를 설치하려고 합니다.

+ +

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

+ +

제한사항

+ + + +

입출력 예

+ + + + + + + + + + + +
routesreturn
[[-20,-15], [-14,-5], [-18,-13], [-5,-3]]2
+

입출력 예 설명

+ +

-5 지점에 카메라를 설치하면 두 번째, 네 번째 차량이 카메라를 만납니다.

+ +

-15 지점에 카메라를 설치하면 첫 번째, 세 번째 차량이 카메라를 만납니다.

+ + +> 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges \ No newline at end of file diff --git a/프로그래머스/3/42884. 단속카메라/단속카메라.py b/프로그래머스/3/42884. 단속카메라/단속카메라.py new file mode 100644 index 0000000..211e168 --- /dev/null +++ b/프로그래머스/3/42884. 단속카메라/단속카메라.py @@ -0,0 +1,15 @@ +def solution(routes): + # 종료 지점을 기준으로 정렬합니다. + routes.sort(key=lambda x: x[1]) + + count = 0 # 설치한 카메라 수 + camera = -30001 # 초기 카메라 위치 (최소 진입 지점보다 작은 값으로 설정) + + for s, e in routes: + # 현재 차량의 진입 지점이 현재 카메라 위치보다 크다면, + # 현재 카메라로 커버할 수 없으므로, 새로운 카메라를 해당 차량의 진출 지점에 설치합니다. + if s > camera: + count += 1 + camera = e + + return count