11650번
문제
- 2차원 평면 위의 점 N개가 주어질 때 좌표를 x가 증가하는 순으로, x좌표가 같으면 y좌표가 증가하는 순서로 정렬한 다음 출력하는 문제
문제 해결 순서
- N만큼 반복하며 좌표를 입력받음
Arrays.sort()를 이용해 배열을 정렬하는데, 내장함수 compare를 알맞게 오버라이딩 해줌- x좌표를 먼저 정렬하는데 이때, x좌표가 같으면 y좌표를 비교해서 정렬함
import java.util.*;
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, (e1, e2) -> {
if(e1[0] == e2[0]) {
return e1[1] - e2[1];
}
else {
return e1[0] - e2[0];
}
});
for(int i = 0; i < N; i++) {
System.out.println(arr[i][0] + " " + arr[i][1]);
}
}
}