[백준/JAVA] 정렬 - 11651번 좌표 정렬하기2

신승현·2022년 9월 16일
0

더 좋은 문제 풀이가 있거나 궁금하신 점이 있다면 편하게 댓글 남겨주세요!


📝 문제


11651번 좌표 정렬하기2


🤷‍♂️ 접근 방법


지난 문제인 [백준/JAVA] 정렬 - 11651번 좌표 정렬하기2 와 같은 방식의 문제입니다. 이전 문제와 다른 점이 있다면 y값을 기준으로 오름차순으로 정렬하고, y값이 같다면 x값을 기준으로 오름차순 정렬한다는 것입니다. 그러므로 x와 y의 입력 값만 바꿔주면 되겠습니다.


✍ 풀이


import java.util.Scanner;
import java.util.Arrays;
 
public 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][1] = in.nextInt(); //x
			arr[i][0] = in.nextInt(); //y
		}
		
		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][1] + " " + arr[i][0]);
		}
	}
}
profile
I have not failed. I've just found 10,000 ways that won't work. - Thomas A. Edison

0개의 댓글