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
- List
- GC로그수집
- sql
- Calendar
- html
- math
- map
- CSS
- 스프링부트
- Properties
- Java
- date
- string
- scanner
- dfs
- priority_queue
- BFS
- 리소스모니터링
- javascript
- alter
- Union-find
- 힙덤프
- deque
- 큐
- NIO
- JPA
- union_find
- 스택
- set
- spring boot
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 |