백준 문제풀이/기본수학2

11651. 좌표 정렬하기 2 (자바, Java)

뮤츠 2022. 9. 26. 01:00

앞 문제랑 똑같습니다. 단지, y좌표가 우선시될뿐.

앞선 문제에서 순서만 바꿔주면 됩니다.

 

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;

public class Main {

	public static void main(String[] args) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		int n = Integer.parseInt(br.readLine());
		
		int[][] xy = new int[n][2];
		
		for (int i=0; i<n; i++) {
			String[] arr = (br.readLine()).split(" ");
			xy[i][0] = Integer.parseInt(arr[1]); // y값이 xy의 앞쪽에 들어감.
			xy[i][1] = Integer.parseInt(arr[0]); // x값이 xy의 뒤쪽에 들어감.
		}
		
		//Override
		Arrays.sort(xy, (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(xy[i][1] + " " + xy[i][0] + "\n");
		}
		
		System.out.println(sb);
		

	}
}