반응형
국영수
문제 |
소스 |
import java.util.Iterator;
import java.util.Scanner;
import java.util.TreeSet;
class Student implements Comparable<Student> {
String name;
int k, e, m;
public Student(String name, int k, int e, int m) {
super();
this.name = name;
this.k = k;
this.e = e;
this.m = m;
}
@Override
public int compareTo(Student o) {
if (k == o.k) {
if(e == o.e) {
if (m == o.m) {
return name.compareTo(o.name);
} else {
return o.m-m;
}
} else {
return e-o.e;
}
} else {
return o.k-k;
}
}
@Override
public String toString() {
return name;
}
}
public class Main {
static int N;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
N = sc.nextInt();
TreeSet<Student> ts = new TreeSet<Student>();
String name;
int k, e, m;
for (int i=0; i<N; i++) {
name = sc.next();
k = sc.nextInt();
e = sc.nextInt();
m = sc.nextInt();
ts.add(new Student(name, k, e, m));
}
Iterator<Student> itr = ts.iterator();
while(itr.hasNext()) {
System.out.println(itr.next().toString());
}
}
}
출처 |
반응형
'알고리즘 > JAVA' 카테고리의 다른 글
[JAVA] 백준 알고리즘 2869 : 달팽이는 올라가고 싶다 (2) | 2018.09.20 |
---|---|
[JAVA] 백준 알고리즘 2583 : 영역 구하기 (0) | 2018.09.19 |
[JAVA] 백준 알고리즘 11179 : 2진수 뒤집기 (역치) (0) | 2018.09.18 |
[JAVA] 백준 알고리즘 2294 : 동전 2 (DP) (0) | 2018.09.14 |
[JAVA] 백준 알고리즘 2667 : 단지번호붙이기 (BFS) (0) | 2018.09.13 |