
처음에는 Map을 사용했는데 순서는 입력으로 들어온 순서를 유지해야 한다라는 조건때문에 List로 바꾸었다. 가장 키가 큰 학생을 찾고 가장 키가 크다면 List에 삽입하였다.
시간복잡도: O(N), 공간복잡도: O(N)
import java.util.*;
import java.io.*;
class Main{
public static void main (String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
while(true){
int n = Integer.parseInt(br.readLine());
if(n==0) break;
ArrayList<String> al = new ArrayList<>();
double maxHeight = 0.0;
for(int i=0;i<n;i++){
StringTokenizer st = new StringTokenizer(br.readLine());
String name = st.nextToken();
double height = Double.parseDouble(st.nextToken());
if(height>maxHeight){
maxHeight=height;
al.clear();
al.add(name);
}else if(height==maxHeight){
al.add(name);
}
}
for(String name: al){
sb.append(name).append(" ");
}
sb.append("\n");
}
System.out.print(sb);
}
}
