https://www.acmicpc.net/problem/11650
11650번: 좌표 정렬하기
첫째 줄에 점의 개수 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 sc = new Scanner(System.in);
int N = sc.nextInt();
int[][] num = new int[N][2];
for(int i=0; i<N; i++) {
num[i][0] = sc.nextInt();
num[i][1] = sc.nextInt();
}
Arrays.sort(num, new Comparator<int[]>() {
@Override
public int compare(int[] o1, int[] o2) {
if (o1[0] == o2[0]) {
return o1[1] - o2[1];
} else {
return o1[0] - o2[0];
}
}
});
for(int i=0; i<N; i++) {
System.out.println(num[i][0] + " " + num[i][1]);
}
}
}
Comparator 쓰는거에 조오오오금 익숙해졌다!
'코딩테스트-알고리즘 > 백준 BOJ' 카테고리의 다른 글
[백준 BOJ/Silver I] 2667번 : 단지번호붙이기 (0) | 2024.01.17 |
---|---|
[백준 BOJ/Silver V] 11651번 : 좌표 정렬하기 2 (0) | 2024.01.17 |
[백준 BOJ/Silver V] 1181번 : 단어 정렬 (2) | 2024.01.14 |
[백준 BOJ/Bronze I] 1157번 : 단어 공부 (0) | 2024.01.14 |
[백준 BOJ/Silver IV] 11652번 : 카드 (4) | 2024.01.13 |