Algorithm
백준 11651번 좌표 정렬하기 2
2nyong
2023. 3. 17. 18:56
2차원 배열의 정렬에 관한 문제다.
자바의 2차원 배열 정렬에 관한 내용은 이 포스팅에 정리해두었다.
자바 - 2차원 배열 정렬 (오름차순, 내림차순, 다중 조건)
자바의 2차원 배열을 Arrays.sort() 를 통해 곧바로 정렬하려고 하면 java.lang.ClassCastException: I cannot be cast to java.lang.Comparable 오류가 발생한다. 오류 문구와 같이 비교 기준이 없어 캐스팅에 실패하기
2nyongs.tistory.com
import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int N = in.nextInt();
int[][] arr = new int[N][2];
for (int i = 0; i < N; i++) {
arr[i][0] = in.nextInt();
arr[i][1] = in.nextInt();
}
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];
}
}
});
for (int i = 0; i < N; i++) {
System.out.println(arr[i][0]+" "+arr[i][1]);
}
}
}