https://www.acmicpc.net/problem/11292
[문제 풀이]
- Sudent 클래스를 만든 후 클래스 정렬을 위해 Compareable 인터페이스를 구현해준다.
- Colletions.sort 를 이용해 정렬을 해준 후 list를 순차적으로 탐색하면서 현재 요소와 다음 요소의 키가 다르다면
- 반복문을 종료시킨다.
- 실수 정렬을 위해 Double.compar(o1, o2)를 이용
[Java]
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
while(true){
int n = Integer.parseInt(br.readLine());
if(n == 0) {
bw.flush();
return;
}
ArrayList<Student> student = new ArrayList<>();
for(int i=0; i<n; i++){
StringTokenizer st = new StringTokenizer(br.readLine());
student.add(new Student(st.nextToken(), Double.parseDouble(st.nextToken())));
}
Collections.sort(student);
student.add(new Student("is dummy", 99999.0));
for(int i=0; i<student.size(); i++){
bw.write(student.get(i).name + " ");
if(student.get(i).height != student.get(i+1).height) break;
}
bw.write("\n");
}
}
}
class Student implements Comparable<Student>{
String name;
double height;
public Student(String name, Double height) {
this.name = name;
this.height = height;
}
@Override
public int compareTo(Student o) {
return Double.compare(o.height,this.height);
}
}
'PS > 백준' 카테고리의 다른 글
[백준] 문자열 잘라내기 2866 (2) | 2022.11.10 |
---|---|
[백준] - 암기왕 2776 (0) | 2022.11.09 |
[백준] - 자리배정 10157 (0) | 2022.11.06 |
백준 1753 - 최단 경로 (다익스트라) (0) | 2022.09.20 |
백준 안전영역 2468 - java (0) | 2022.08.26 |