이전 문제에서 x와 y만 바뀐 문제다.
y값을 기준으로 정렬하되 y값이 같다면 w값의 오름차순으로 정렬하면 된다.
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.util.StringTokenizer;
import java.util.Arrays;
public class Main{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
int[][] arr = new int[N][2];
for(int i=0;i<N;i++){
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
arr[i][0] = Integer.parseInt(st.nextToken());
arr[i][1] = Integer.parseInt(st.nextToken());
}
Arrays.sort(arr, (o1,o2)->{
// y좌표값이 같다면
if(o1[1]==o2[1]){
// x값을 비교한다
return Integer.compare(o1[0], o2[0]);
}
// y좌표값이 다르면
else{
// y값을 비교해 오름차순으로
return Integer.compare(o1[1],o2[1]);
}
});
for(int i=0;i<N;i++){
for(int j=0;j<2;j++){
System.out.print(arr[i][j]+" ");
}
System.out.println();
}
}
}
'[BOJ] - JAVA' 카테고리의 다른 글
[백준] 10814 : 나이순 정렬 JAVA 풀이 (0) | 2022.05.29 |
---|---|
[백준] 1181 : 단어 정렬 JAVA 풀이 (0) | 2022.05.29 |
[백준] 11650 : 좌표 정렬하기 JAVA 풀이 (0) | 2022.05.26 |
[백준] 1427 : 소트인사이드 JAVA 풀이 (0) | 2022.05.26 |
[백준] 2108 : 통계학 JAVA 풀이 (0) | 2022.05.26 |