Notice
Recent Posts
Recent Comments
Link
Dev.baelanche
[백준 10825] 국영수 본문
반응형
정렬만 꼼꼼하게 해주면 된다.
딱봐도 알겠지만 내가 쓴 코드는 상당히 별로다...ㅋㅋ;;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
Student s[] = new Student[n];
for(int i=0; i<n; i++)
s[i] = new Student(sc.next(), sc.nextInt(), sc.nextInt(), sc.nextInt());
Arrays.sort(s, new Comparator<Student>() {
public int compare(Student o1, Student o2) {
if(o1.korean < o2.korean) return 1;
else if(o1.korean > o2.korean) return -1;
else {
if(o1.english < o2.english) return -1;
else if(o1.english > o2.english) return 1;
else {
if(o1.math < o2.math) return 1;
else if(o1.math > o2.math) return -1;
else {
int len = Math.min(o1.name.length(), o2.name.length());
for(int i=0; i<len; i++)
if(o1.name.charAt(i) != o2.name.charAt(i))
return o1.name.charAt(i) - o2.name.charAt(i);
}
}
}
return 0;
}
});
for(int i=0; i<n; i++)
System.out.println(s[i].name);
}
static class Student {
String name;
int korean;
int english;
int math;
Student(String name, int korean, int english, int math) {
this.name = name;
this.korean = korean;
this.english = english;
this.math = math;
}
}
}
반응형
'Data Structure & Algorithm > PS - JAVA' 카테고리의 다른 글
[백준 14494] 다이나믹이 뭐예요? (0) | 2019.08.27 |
---|---|
[백준 11652] 카드 (0) | 2019.07.23 |
[백준 10814] 나이순 정렬 (0) | 2019.07.23 |
[백준 10157] 자리배정 (0) | 2019.07.23 |
[백준 11586] 지영 공주님의 마법 거울 (0) | 2019.07.23 |
Comments