x좌표가 증가하는 순으로
x좌표가 갇아면
y좌표가 증가하는 순서로
정렬하여 출력합시다
코드입니다
import java.util.Scanner;
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int N = scan.nextInt();
int[][] arr = new int[N][2];
for(int i=0; i<N; i++) {
arr[i][0] = scan.nextInt();
arr[i][1] = scan.nextInt();
}
Arrays.sort(arr, (e1, e2) -> {
if(e1[0] == e2[0]) {
return e1[1] - e2[1];
} else{
return e1[0] - e2[0];
}
});
StringBuilder sb = new StringBuilder();
for(int i=0; i<N; i++) {
sb.append(arr[i][0] + " " + arr[i][1]).append('\n');
}
System.out.println(sb);
}
}
항상 사용하는 Arrays.sort()의 변형을 이용했습니다
e1[0] == e2[0], x값이 같다면
return e1[1] - e2[1], y값을 비교하여 순서를 정합시다
라는 의미입니다
'백준 문제풀기 > JAVA' 카테고리의 다른 글
[백준 11653 JAVA 자바] 소인수분해 (0) | 2023.08.25 |
---|---|
[백준 11651 JAVA 자바] 좌표 정렬하기 2 (0) | 2023.08.25 |
[백준 11399 JAVA 자바] ATM (0) | 2023.08.25 |
[백준 11382 JAVA 자바] 꼬마 정민 (5) | 2023.08.25 |
[백준 11050 JAVA 자바] 이항 계수 1 (0) | 2023.08.25 |