백준 단계별
[Java] 백준 10814: 나이순 정렬
pullwall
2023. 2. 16. 13:58
728x90
import java.util.Scanner;
import java.util.Arrays;
import java.util.Comparator;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int N = in.nextInt();
String[][] arr = new String[N][2];
for(int i = 0; i < N; i++) {
arr[i][0] = in.next();
arr[i][1] = in.next();
}
Arrays.sort(arr, new Comparator<String[]>()
public int compare(String[] s1, String[] s2) {
return Integer.parseInt(s1[0]) - Integer.parseInt(s2[0]);
}
});
for(int i = 0; i < N; i++) {
System.out.println(arr[i][0] + " " + arr[i][1]);
}
}
}
앞 문제와 마찬가지로 Arrays.sort의 compare메소드를 오버라이딩 해서 문제를 해결하였다.
이 방법으로 하면 s1>s2인 경우에는 위치를 바꾸지 않으므로 자동으로 가입순으로 정렬이 되서 코드가 간단해진다.
728x90