BOJ 10814 나이순 정렬
-
변수
class Person{ int age; String name; } int N // 회원의 수 ArrayList<Person> list; // Person들의 리스트
-
로직
-
Person을 모두 입력 받은 후, 나이 순 정렬
- 나이가 같을 경우 먼저 가입한 순서로 정렬
-
-
코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.StringTokenizer;
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<Person> list = new ArrayList<Person>();
for (int i = 0; i < N; i++) {
st = new StringTokenizer(br.readLine());
int age = Integer.parseInt(st.nextToken());
String name = st.nextToken();
list.add(new Person(age, name));
}
Collections.sort(list, new Comparator<Person>() {
@Override
public int compare(Person o1, Person o2) {
return o1.age-o2.age;
}
});
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i).toString());
}
}
static class Person{
int age;
String name;
public Person(int age, String name) {
this.age = age;
this.name = name;
}
@Override
public String toString() {
return this.age + " " + this.name;
}
}
}
Leave a comment