[프로그래머스] 단속카메라(42884)

lhs's avatar
Dec 15, 2024
[프로그래머스] 단속카메라(42884)
 

1. 문제 풀이 아이디어

  • 차량 경로를 끝나는 지점 기준으로 정렬하여 문제를 해결할 수 있다.

2. 나의 정답 코드

class Solution { public int solution(int[][] routes) { int answer = 1; Arrays.sort(routes, Comparator.comparingInt(i -> i[1])); int cam = routes[0][1]; for (int i = 1; i < routes.length; i++) { if (routes[i][1] < cam || cam < routes[i][0]) { cam = routes[i][1]; answer++; } } return answer; } }

3. 정리

  • Arrays.sort 메서드를 사용해 차량 경로를 끝나는 지점을 기준으로 정렬한다.
  • 첫 번째 경로의 끝나는 지점(cam = routes[0][1])에 카메라를 설치한다.
  • 모든 경로를 순회하면서 카메라가 커버할 수 없는 경로라면, 해당 경로의 끝나는 지점에 카메라를 설치하고 answer를 증가시킨다.
  • 반복문을 종료한 후 최종적으로 answer를 반환하여 문제를 해결한다.
Share article

LHS's Study Space