algorithm

11650 - 좌표 정렬하기

tonirr 2020. 5. 11. 08:03

 

  • Comparator인터페이스를 이용해서 compare 메소드를 오버라이딩하여 정렬했다.
  • sort함수에 arr을 받고 Comparator를 생성해주면서 compare 메소드를 오버라이딩한다.
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int arr[][] = new int[n][2];
		
		for(int i = 0; i < n; i++) {
			for(int j = 0; j < arr[i].length; j++) {
				arr[i][j] = sc.nextInt();
			}
		}
		
		Arrays.sort(arr, new Comparator<int[]>() {

			@Override
			public int compare(int[] o1, int[] o2) {
				if(o1[0] == o2[0])
					return Integer.compare(o1[1], o2[1]);
					
				return Integer.compare(o1[0], o2[0]);
			}
			
		});
		
		for(int i = 0; i < arr.length; i++) {
			System.out.println(arr[i][0]+" "+arr[i][1]);
		}
	}
}