본문 바로가기
CodingTest/백준

[JAVA] 백준 - 11650: 좌표 정렬하기

by Daybreak21 2023. 9. 26.

11650번: 좌표 정렬하기 (acmicpc.net)

 

11650번: 좌표 정렬하기

첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다.

www.acmicpc.net

 

import java.util.*;

public class Main {
    public static void main(String[] args) {

        Scanner input = new Scanner(System.in);
        int n = input.nextInt();
        int[][] xy = new int[n][2];
        for (int i = 0; i<n; i++) {
            xy[i][0] = input.nextInt();
            xy[i][1] = input.nextInt();
        }

        Arrays.sort(xy, new Comparator<int[]>() {
            @Override
            public int compare(int[] o1, int[] o2) {
                if (o1[0] == o2[0]) return o1[1] - o2[1];
                else return o1[0] - o2[0];
            }
        });

        for (int[] t : xy) {
            System.out.println(t[0] + " " + t[1]);
        }

    }

}

람다식사용