[백준] 10825 국영수 (Sort)

2020. 1. 13. 17:53

https://www.acmicpc.net/problem/10825

 

10825번: 국영수

첫째 줄에 도현이네 반의 학생의 수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 한 줄에 하나씩 각 학생의 이름, 국어, 영어, 수학 점수가 공백으로 구분해 주어진다. 점수는 1보다 크거나 같고, 100보다 작거나 같은 자연수이다. 이름은 알파벳 대소문자로 이루어진 문자열이고, 길이는 10자리를 넘지 않는다.

www.acmicpc.net

간단한 정렬 문제였습니다.

학생정보를 담는 클래스를 만들어 저장했습니다.

그 후, Arrays.sort()로 오름,내림 차순 정렬해주었습니다.

국어 : 내림차순

영어 : 오름차순

수학 : 내림차순

이름 : 사전순 오름차순

으로 정렬합니다.

(* 오름차순 1,2,3,4..... 갈수록 증가)

(*내림차순 4,3,2,1.... 갈수록 감소)

 

*Comparator 인터페이스의 compare메소드를 오버라이드하여 사용합니다.

오름차순 정렬은

o1>o2 면 1 (양수)

아니면 -1 (음수)를 리턴합니다. 

1 이면 자리바꿈, -1이면 자리유지 입니다.

내림차순을 하고싶으면 o2 와  o1의 자리를 바꿔줍니다.

(* 문제에서 o1==o2일 경우의 조건을 달아주어서 같을때 0을 리턴하는게 아니라 조건문을 달아 주었습니다. 일반적으로 같을경우 0을리턴해 자리를 유지합니다.)

 

'Algorithm & Data Structure > BOJ' 카테고리의 다른 글

[백준] 3053 택시 기하학  (0) 2020.01.15
[백준] 1057 토너먼트  (0) 2020.01.14
[백준] 1937 욕심쟁이 판다 (DFS, DP)  (0) 2020.01.13
[백준] 12100 2048(Easy)  (0) 2020.01.11
[백준] 1182 부분수열의 합  (0) 2020.01.10

+ Recent posts