250x250
Notice
Recent Posts
Recent Comments
Link
반응형
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- map
- string
- scanner
- 힙덤프
- Calendar
- deque
- List
- BFS
- 리소스모니터링
- NIO
- priority_queue
- CSS
- alter
- JPA
- 스택
- sql
- GC로그수집
- spring boot
- 큐
- Java
- 스프링부트
- date
- Properties
- Union-find
- math
- set
- dfs
- html
- javascript
- union_find
Archives
- Today
- Total
매일 조금씩
프로그래머스 level2 : 요격 시스템 - Java 본문
728x90
반응형
스케줄링 문제와 매우 유사.
스케줄링 문제와 비슷하게 끝나는 시간을 기준으로 오름차순을 하고
반복문을 통해서 하나씩 시작점, 종점에 포함되는지 비교하면됨.
Arrays.sort(targets, (o1, o2) -> {
if(o1[1] == o2[1]) return o1[0] - o2[0];
return o1[1] - o2[1];
});
위 코드로 종점을 오름차순 정렬.
import java.util.*;
class Solution {
public int solution(int[][] targets) {
int answer = 0;
Arrays.sort(targets, (o1, o2) -> {
if(o1[1] == o2[1]) return o1[0] - o2[0];
return o1[1] - o2[1];
});
int end = targets[0][1];
answer++;
for(int[] target: targets){
// end가 구간에 들어가지 않는다면 end 재설정 , 요격수 증가
if(target[0] >= end){ // 개구간이기때문에 =도 포함
end = target[1];
answer++;
}
}
return answer;
}
}
728x90
반응형
'알고리즘' 카테고리의 다른 글
프로그래머스 level2 : 과제 진행하기 - Java (0) | 2023.06.06 |
---|---|
프로그래머스 level2 : 두 원 사이의 정수 쌍 - Java (0) | 2023.06.06 |
프로그래머스 level1 : 기사단원의 무기 - Java (0) | 2023.06.05 |
프로그래머스 level1 : 명예의 전당(1) - Java (0) | 2023.06.05 |
프로그래머스 level1 : 문자열 나누기 - Java (0) | 2023.06.05 |