PS/inflearn java coding

Comparable 구현을 이용한 객체 정렬 예제

easy16 2022. 4. 10. 17:28
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Scanner;




class Main {

	static int answer = 0;
	
	public static void main(String args[]) throws Exception {
		
		Scanner in = new Scanner(System.in);
		int n = in.nextInt();
		Point [] arr = new Point[n];
		
		for ( int i =0 ; i < n ; ++i) {
			arr[i] = new Point(in.nextInt(), in.nextInt());
		}
		
		Arrays.sort(arr);
		
		for ( Point p : arr) {
			System.out.println(String.format("%d %d", p.x,p.y));
		}
		
		
	}
		
		
	
}

class Point implements Comparable<Point>{
	int x;
	int y;
	Point(int x, int y){
		this.x=x;
		this.y=y;
	}
	@Override
	public int compareTo(Point o) {
		
		if ( this.x != o.x)
			return this.x-o.x;
		
		return this.y-o.y;
	}
}

ex)
input
5
2 7
1 3
1 2
2 5
3 6

output
1 2
1 3
2 5
2 7
3 6