๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Algorithm

[๋ฐฑ์ค€] 11651๋ฒˆ: ์ขŒํ‘œ ์ •๋ ฌํ•˜๊ธฐ2

by ์ฃผ๋ฐœ2 2020. 1. 20.
๋ฐ˜์‘ํ˜•

https://www.acmicpc.net/problem/11651

 

11651๋ฒˆ: ์ขŒํ‘œ ์ •๋ ฌํ•˜๊ธฐ 2

์ฒซ์งธ ์ค„์— ์ ์˜ ๊ฐœ์ˆ˜ N (1 ≤ N ≤ 100,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” i๋ฒˆ์ ์˜ ์œ„์น˜ xi์™€ yi๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (-100,000 ≤ xi, yi ≤ 100,000) ์ขŒํ‘œ๋Š” ํ•ญ์ƒ ์ •์ˆ˜์ด๊ณ , ์œ„์น˜๊ฐ€ ๊ฐ™์€ ๋‘ ์ ์€ ์—†๋‹ค.

www.acmicpc.net

์ฝ”๋“œ

import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;

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();	// X์ขŒํ‘œ
			arr[i][1] = scan.nextInt();	// Y์ขŒํ‘œ
		}
		
		Arrays.sort(arr, new Comparator<int[] >() {

			@Override
			public int compare(int[] x, int[] y) {
				if(x[1] == y[1])	// Y์ขŒํ‘œ๊ฐ€ ๋™์ผํ•˜๋ฉด X์ขŒํ‘œ ์ˆœ์œผ๋กœ ์ •๋ ฌ
					return Integer.compare(x[0], y[0]);	
				
				return Integer.compare(x[1], y[1]);	// Y์ขŒํ‘œ ์ˆœ์œผ๋กœ ์ •๋ ฌ
			}
		});
		
		for(int i=0; i<N; i++) 
			System.out.println(arr[i][0] + " " + arr[i][1]);
		
		scan.close();
	}
}

 

ํ’€์ด

Comparator ์ธํ„ฐํŽ˜์ด์Šค ์•„๋ž˜ ์ฐธ๊ณ 

์ •์˜

์˜ˆ์ œ

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€