[알고리즘] 1828. 냉장고
2024. 2. 19. 20:02ㆍAlgorithm/with Java
0. 문제
1. 문제 이해
- 그리디 알고리즘 - Activity-Selection Problem
2. 제출
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class JOL1828 {
static int N;
static Thing[] arr;
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
N = Integer.parseInt(st.nextToken());
arr = new Thing[N];
for(int i=0; i<N; i++) {
st = new StringTokenizer(br.readLine());
Thing thing = new Thing(Integer.parseInt(st.nextToken()), Integer.parseInt(st.nextToken()));
arr[i] = thing;
}
Arrays.sort(arr);
int ret = 0;
int cur = -999;
for(int i=0; i<N; i++) {
if(arr[i].start > cur) {
cur = arr[i].end;
ret++;
}
}
System.out.println(ret);
br.close();
}
static class Thing implements Comparable<Thing> {
int start, end;
Thing(int start, int end) {
this.start = start;
this.end = end;
}
@Override
public int compareTo(Thing o) {
return this.end == o.end ? this.start - o.start : this.end - o.end;
}
}
}
return this.end == o.end ? this.start - o.start : this.end - o.end;
:end
를 기준으로 오름차순으로 정렬했다.if(arr[i].start > cur) {
: 앞선 화학물질들과 곂치는 온도가 없다. 즉, 새로운 냉장고가 필요하다.
'Algorithm > with Java' 카테고리의 다른 글
[Java] 분할정복, 백트레킹, 이진탐색 (0) | 2024.02.19 |
---|---|
[알고리즘] 1183. 동전 자판기 (하) (0) | 2024.02.19 |
[알고리즘] 1931. 회의실 배정 (0) | 2024.02.18 |
[Java] Greedy algorithm (0) | 2024.02.18 |
[알고리즘] 풀었던 문제 (240208) (0) | 2024.02.18 |