전공공부
[PROGRAMMERS] 요격 시스템 본문
import java.util.*;
class Solution {
public int solution(int[][] targets) {
int answer = 1;
Arrays.sort(targets,(o1,o2) -> o1[1] - o2[1]);
int idx = 0;
int max = targets[0][1];
while(idx < targets.length - 1){
if(max <= targets[idx+1][0]){
max = targets[idx+1][1];
answer++;
}
idx++;
}
return answer;
}
}
Start의 오름차순이 아닌 end point의 오름차순인 이유는
start의 오름차순일때를 생각해보면...
max 포인트가 뒷포인트에 있기 때문에 뒤에 값이 매우 큰 값이 첫번째에 나와버리면 뒤에 있는 배열들은 모두 커버가 되지 않는다.
'Study > Problem Solving' 카테고리의 다른 글
[BOJ 23971] ZOAC4 (0) | 2023.07.22 |
---|---|
[PROGRAMMERS] 숫자 변환하기 (0) | 2023.05.01 |
[PROGRAMMERS]연속된 부분 수열의 합 (0) | 2023.04.14 |
[BOJ 13458] 시험 감독 (0) | 2023.03.30 |
[BOJ 14501] 퇴사 (0) | 2023.03.29 |