import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int num = Integer.parseInt(br.readLine());
String line="";
List<String[]> list = new ArrayList<>();
String[][] array = new String[num][2];
for(int i=0;i<num;i++) {
line=br.readLine();
array[i][0] = line.split(" ")[0];
array[i][1] = line.split(" ")[1];
list.add(array[i]);
}
Collections.sort(list, new Comparator<String[]>() {
@Override
public int compare(String[] s1, String[] s2) {
return (Integer.parseInt(s1[0]) - Integer.parseInt(s2[0]));
}
});
StringBuilder sb = new StringBuilder();
for(String[] val : list) {
sb.append(val[0]+" "+val[1]+"\n");
}
System.out.println(sb.toString());
}
}
Collections.sort에서 정렬 시, 나이순만 따지고 같은 나이에서는 입력순서로 따진다는 말은 나이만 크기로 비교해서 정렬하라는 의미이다. Comparator interface에서 compare를 정의하여 나이만 비교해서 정렬한다.
반응형
'Algorithm' 카테고리의 다른 글
백준 11720 / 숫자의 합 (0) | 2020.07.09 |
---|---|
백준 10989 / 수 정렬하기 3 (0) | 2020.07.09 |
백준 11652 / 카드 (0) | 2020.07.09 |
백준 11650 / 좌표 정렬하기 (0) | 2020.07.09 |
StringTokenizer vs Split (0) | 2020.07.07 |