반응형
https://www.acmicpc.net/problem/1931
위의 문제는 BaekJoon Online Judge의 단계별로 풀어보기 중 18단계
그리디 알고리즘의 카테고리에 포함되어 있는 문제이다.
import java.util.Scanner;
import java.util.Arrays;
public class Question_1931 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int number = sc.nextInt();
int[][] fromTo = new int[number][2];
for(int i = 0; i < number; i++) {
fromTo[i][0] = sc.nextInt();
fromTo[i][1] = sc.nextInt();
}
Arrays.sort(fromTo, (o1, o2) -> {
if(o1[1] == o2[1]) {
return Integer.compare(o1[0], o2[0]);
} else {
return Integer.compare(o1[1], o2[1]);
}
});
int min = -1;
int count = 0;
for(int i = 0; i < number; i++) {
if(fromTo[i][0] >= min) {
min = fromTo[i][1];
count++;
}
}
System.out.println(count);
}
}
반응형
'BaekJoon > JAVA' 카테고리의 다른 글
[백준] 2217번 : 로프(JAVA) (0) | 2020.02.13 |
---|---|
[백준] 11399번 : ATM(JAVA) (0) | 2020.02.12 |
[백준] 11047번 : 동전 0(JAVA) (0) | 2020.02.12 |
[백준] 5585번 : 거스름돈(JAVA) (0) | 2020.02.12 |
[백준] 1110번 : 더하기 사이클(JAVA) (0) | 2020.02.12 |
댓글