https://www.acmicpc.net/problem/1931
μ΄μ μ ν λ² νΌ μ μ΄ μμ΄μ νμ΄λ²μ λ μ¬λ¦¬λ 건 μ¬μ λ€.
1.μ λ ¬ : μ°μ λλλ μκ°μ κΈ°μ€μΌλ‘ μ€λ¦μ°¨μ μ λ ¬μ νκ³ , λλλ μκ°μ΄ κ°μ κ²½μ°μλ μμ μκ°μ κΈ°μ€μΌλ‘ μ€λ¦μ°¨μ μ λ ¬μ νλ€.
2. λͺ¨λ μκ°μ λν΄μ λλλ μκ°μ κΈ°μ€μΌλ‘ νμ¬ κ°λ₯ν λ€μ νμ μμ μκ°μ μ°Ύλλ€.
2μ°¨μ λ°°μ΄μ μ λ ¬νλλ°, Arrays.sortμ Comparator μ¬μ©μ΄ μμ§ λ―Έμνλ€.
μ½λ
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Comparator;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
int[][] arr = new int[N][2]; //μμμκ°, λλλ μκ° μ μ₯
for(int i = 0; i < N; i++) {
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
arr[i][0] = Integer.parseInt(st.nextToken()); //μμ μκ°
arr[i][1] = Integer.parseInt(st.nextToken()); //λλλ μκ°
}
//λλλ μκ° μ€λ¦μ°¨μ μ λ ¬ -> μμ μκ° μ€λ¦μ°¨μ μ λ ¬
Arrays.sort(arr, new Comparator<int[]>() {
@Override
public int compare(int[] o1, int[] o2) {
if(o1[1] == o2[1]) { //λλλ μκ°μ΄ κ°μΌλ©΄
return o1[0] - o2[0]; //μμ μκ° μ€λ¦ μ°¨μ
}else {
return o1[1] - o2[1]; //λλλ μκ° μ€λ¦ μ°¨μ
}
}
});
int count = 0;
int end = 0; //λλλ μκ°μ΄ κΈ°μ€
for(int i = 0; i < N; i++) {
if(arr[i][0] >= end) {
count++;
end = arr[i][1];
}
}
System.out.println(count);
}
}
κ²°κ³Ό
'Algorithm > λ°±μ€' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
λ°±μ€ 11660λ² - κ΅¬κ° ν© κ΅¬νκΈ° 5 (0) | 2022.08.06 |
---|---|
λ°±μ€ 12891λ² - DNA λΉλ°λ²νΈ (0) | 2022.08.05 |
λ°±μ€ 2563λ² - μμ’ μ΄ (0) | 2022.08.05 |
λ°±μ€ 1916λ² - μ΅μλΉμ© ꡬνκΈ° (0) | 2022.04.08 |
11404λ² - νλ‘μ΄λ (0) | 2022.04.06 |