본문 바로가기
Algorithm

백준 11651번 좌표 정렬하기 2

by 2nyong 2023. 3. 17.

 

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]);
        }
    }
}

'Algorithm' 카테고리의 다른 글

백준 2108번 통계학  (0) 2023.03.17
백준 12865번 평범한 배낭  (0) 2023.03.17
백준 1932번 정수 삼각형  (0) 2023.03.16
백준 1149번 RGB거리  (0) 2023.03.16
백준 9461번 파도반수열  (0) 2023.03.16

댓글