반응형
https://school.programmers.co.kr/learn/courses/30/lessons/12982
import java.util.Arrays;
import java.util.Comparator;
public class Solution {
public int solution(int[][] routes) {
// routes 배열을 진출 지점을 기준으로 오름차순 정렬
Arrays.sort(routes, Comparator.comparingInt(o -> o[1]));
// 처음 카메라 위치는 맨 처음 차량의 진출 지점에 설치
int cameraPosition = routes[0][1];
// 설치된 카메라 수 초기화
int answer = 1;
// 다음 차량부터 검사
for (int i = 1; i < routes.length; i++) {
// 현재 차량의 진입 지점이 현재 카메라 위치보다 큰 경우
// 새로운 카메라를 설치하고 카메라 위치를 현재 차량의 진출 지점으로 업데이트
if (cameraPosition < routes[i][0]) {
answer++;
cameraPosition = routes[i][1];
}
}
return answer;
}
}
import java.util.Arrays;
import java.util.Comparator;
public class Solution {
public static int solution(int[][] routes) {
// routes 배열을 진출 지점을 기준으로 오름차순 정렬
Arrays.sort(routes, Comparator.comparingInt(o -> o[1]));
// 처음 카메라 위치는 맨 처음 차량의 진출 지점에 설치
int cameraPosition = routes[0][1];
// 설치된 카메라 수 초기화
int answer = 1;
// 다음 차량부터 검사
for (int i = 1; i < routes.length; i++) {
// 현재 차량의 진입 지점이 현재 카메라 위치보다 큰 경우
// 새로운 카메라를 설치하고 카메라 위치를 현재 차량의 진출 지점으로 업데이트
if (cameraPosition < routes[i][0]) {
answer++;
cameraPosition = routes[i][1];
}
}
return answer;
}
public static void main(String[] args) {
Solution solution = new Solution();
int[][] routes1 = {{-20,-15}, {-14,-5}, {-18,-13}, {-5,-3}};
System.out.println(solution.solution(routes1));
}
}
반응형
'Portpolio > codingtest' 카테고리의 다른 글
Leetcode 125번 유효한 팰린드롬 (0) | 2023.12.31 |
---|---|
프로그래머스 lv0. 문자열 겹쳐쓰기 java (0) | 2023.12.19 |
프로그래머스 lv0. QR Code java (1) | 2023.12.19 |
프로그래머스 lv0. 두 수의 합 java (0) | 2023.12.18 |
프로그래머스 lv0. 나머지 구하기 java (0) | 2023.12.18 |
댓글