Algorithm/[BOJ] - JAVA
[백준] 11650 : 좌표 정렬하기 JAVA 풀이
Codew
2022. 5. 26. 17:52
1.점의 개수 N을 입력받는다.
2. x좌표와 y좌표를 저장할 2차원 배열 arr[N][2]를 생성한다.
3. x좌표와 y좌표를 입력받아 배열에 저장한다.
4. x좌표의 오름차순으로 배열을 정렬하는데 x좌표가 같을 때는 y좌표의 오름차순으로 정렬한다.
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());
}
// arr를
Arrays.sort(arr, (o1,o2)->{
if(o1[0]==o2[0]){
return Integer.compare(o1[1], o2[1]);
}
else{
return Integer.compare(o1[0], o2[0]);
}
});
for(int i=0;i<N;i++){
for(int j=0;j<2;j++){
System.out.print(arr[i][j]+" ");
}
System.out.println();
}
}
}