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();
Person[] p = new Person[N];
for(int i = 0; i < N; i++) {
p[i] = new Person(in.nextInt(), in.next());
}
Arrays.sort(p, new Comparator<Person>() {
@Override
public int compare(Person s1, Person s2) {
return s1.age - s2.age;
}
});
StringBuilder sb = new StringBuilder();
for(int i = 0; i < N; i++) {
sb.append(p[i]);
}
System.out.println(sb);
}
public static class Person {
int age;
String name;
public Person(int age, String name) {
this.age = age;
this.name = name;
}
@Override
public String toString() {
return age + " " + name + "\n";
}
}
}
문제를 보고 입력의 형태가 다른 것을 보고 구조체(클래스)로 풀면 되겠다 싶었다. 그래서 전에 풀었던 문제에서 예습해서 그런지 어렵지 않았던 문제. 또한 Arrays.sort()안에 람다식으로 사용하는 법을 연습하자!
[링크] : 깃허브