https://www.acmicpc.net/problem/1931
μ½λ
import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int N = scan.nextInt();
int[][] arr = new int[N][2]; // νμ λ³ μμ, μ’
λ£ μκ° μ μ₯ν λ°°μ΄
for(int i=0; i<arr.length; i++) {
arr[i][0] = scan.nextInt(); // μμ μκ°
arr[i][1] = scan.nextInt(); // μ’
λ£ μκ°
}
// μ’
λ£ μκ° μμΌλ‘ μ λ ¬ -> μ’
λ£ μκ°μ΄ κ°μ κ²½μ° μμ μκ° μ μ λ ¬.
Arrays.sort(arr, new Comparator<int[]>() {
@Override
public int compare(int[] arr1, int[] arr2) {
if(arr1[1] == arr2[1]) { // μ’
λ£ μκ°μ΄ κ°μ κ²½μ°
return Integer.compare(arr1[0], arr2[0]); // μμ μκ° μ€λ¦μ°¨μ μ λ ¬
}
return Integer.compare(arr1[1], arr2[1]); // μ’
λ£ μκ° μ€λ¦μ°¨μ μ λ ¬
}
});
int maxMeeting = 0; // μ΅λ νμ μ
int checkTime = 0; // λ€μ μμ μκ°κ³Ό λΉκ΅
for(int i=0; i<N; i++) {
if(arr[i][0] >= checkTime) { // λ€μ νμ μμ μκ°μ΄ μ΄μ νμ μ’
λ£ μκ°λ³΄λ€ ν΄ κ²½μ°
checkTime = arr[i][1]; // λ€μ μ’
λ£ μκ° λ³κ²½
maxMeeting += 1; // νμ +1
}
}
System.out.println(maxMeeting);
scan.close();
}
}
νμ΄
κ° νμμ λν΄ μμμκ°κ³Ό μ’ λ£μκ°μ΄ μ£Όμ΄μ§κ³ , νμκ° κ²ΉμΉμ§ μκ² νλ©΄μ νμμ€μ μ¬μ©ν μ μλ μ΅λμμ νμλ₯Ό μ°ΎμλΌ.
μ λ¬Έμ μμ ν΅μ¬μ λ€μκ³Ό κ°λ€.
1. νμμ μμμκ°κ³Ό λλλ μκ°μ΄ κ°μ μλ μλ€.(1μ ~ 3μ) , (3μ ~ 5μ)
2. λλλ μκ°μ΄ κ°μ₯ 짧μ κ² λΆν° νμκ° κ²ΉμΉμ§ μκ² μΉ΄μ΄νΈ ν΄μ£Όλ©΄ λλ€.
μ 2λ²μ λ°©λ²μ μκ°ν΄λ΄λ κ²μ΄ μ λΆλ€ ..
μ²μμ μμ μκ° μμΌλ‘ μ λ ¬ ν μ’ λ£ μκ°μ μ λ ¬νκ³ , κ²ΉμΉμ§ μλ νμ΄λ₯Ό μκ°ν΄ λ΄€μ§λ§... λ°λ‘κ° μμλ€.
1μ~8μ, 2μ~8μ, 3μ~4μ
μμ κ°μλ 1μ, 2μκ° μλ 3μ~4μλ₯Ό μ ννλκ² λ λ§μ νμλ₯Ό ν μ μλ€.
λ°λΌμ μμ μκ°μ΄ μλ μ’ λ£ μκ°μ κΈ°μ€μΌλ‘ μ‘κ³ μ λ ¬μνκ³ , μ’ λ£ μκ°μ΄ κ°μΌλ©΄ μμ μκ°μ μ λ ¬νλ€.
λλλ μκ°μ΄ λΉ λ₯Όμλ‘ -> λ€μ νμλ μΌμ° μμνλ€.
κ·Έ ν λλλ μκ° μ΄νλ‘ κ°μ₯ 빨리 μμνλ νμλ₯Ό μ ννλ€.(μμ μκ°λ μ€λ¦μ°¨μ μ λ ¬)
λ¬Έμ μ μμ μ λ ₯ 1μ νμ΄μ λ§κ² μ’ λ£ μκ° μ λ ¬ -> μμ μκ° μ λ ¬μ ν ν μΆλ ₯ν κ²°κ³Όλ€.
(1,4) -> (5,7) -> (8,11) -> (12,14) λ₯Ό νμλ‘ νλ©΄ νμλ₯Ό μ΅λ 4λ² ν μ μλ€.
Java - Comparator μ€λͺ
'Algorithm' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€] 6986λ²: μ μ¬νκ· (0) | 2020.02.14 |
---|---|
[Codeforces] 791A: Bear and Big Brother (0) | 2020.02.13 |
[λ°±μ€] 2468λ²: μμ μμ(μμ νμ, κ·Έλν) (0) | 2020.02.12 |
[Codeforces] 1030A: In Search of an Easy Problem (0) | 2020.02.12 |
[Codeforces] 977A: Wrong Subtraction (0) | 2020.02.11 |
λκΈ