https://www.acmicpc.net/problem/11650
import java.awt.*;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.StringTokenizer;
class Point implements Comparable<Point> {
public int x, y;
public Point(int x, int y) {
this.x = x;
this.y = y;
}
@Override
public int compareTo(Point p) {
if (this.x == p.x) return this.y - p.y;
else return this.x - p.x;
}
}
public class Main{
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
int n = Integer.parseInt(br.readLine());
ArrayList<Point> arr = new ArrayList<Point>();
for(int i=0; i<n; i++){
st = new StringTokenizer(br.readLine());
int x = Integer.parseInt(st.nextToken());
int y = Integer.parseInt(st.nextToken());
arr.add(new Point(x, y));
}
Collections.sort(arr);
for (Point p : arr) {
System.out.println(p.x+" "+p.y);
}
}
}
Comparable 인터페이스를 구현해 정렬 기준을 제공하고, Collections.sort로 그 기준에 따라 좌표를 정렬한다.
'ALGORITHM' 카테고리의 다른 글
[JAVA] 백준 1181번 - 단어 정렬 (0) | 2022.09.28 |
---|---|
[JAVA] 백준 11651번 - 좌표 정렬하기2 (0) | 2022.09.28 |
[JAVA] 알고리즘 : DFS- 순열 추측하기 (0) | 2022.09.27 |
[JAVA] 백준 1427번 - 소트인사이드 (0) | 2022.09.27 |
[JAVA] 백준 2644번 - 촌수 계산 (0) | 2022.09.25 |