백준 11292번 키 큰 사람 JAVA

YB·2025년 3월 3일

링크텍스트

설명

처음에는 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);
	}
}

profile
안녕하세요

0개의 댓글