‡ CODING TEST STUDY ‡/º 백준

[백준 | Java Bronze I ] (#11557) Yangjojang of The Year

Trudy | 송연 2024. 7. 10. 12:31

문제

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


 

접근

String과 Integer를 모두 저장해야 해서 어떤 자료구조로 저장을 할 지 생각했었다.

String 배열로 학교 이름을, Integer 2차원 배열로 [인덱스, 술] 로 저장해서 1번째 인덱스를 기준으로 정렬을 하면 쉽게 구할 수 있었다. 

 

최종 코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.lang.reflect.Array;
import java.util.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int t = Integer.parseInt(br.readLine());
        for (int i = 0; i < t; i++) {
            int n = Integer.parseInt(br.readLine());

            String[] school = new String[n];
            int[][] score = new int[n][2];
            for (int j = 0; j < n; j++) {
                StringTokenizer st = new StringTokenizer(br.readLine());
                school[j] = st.nextToken();
                score[j][1] = Integer.parseInt(st.nextToken());
                score[j][0] = j;
            }

            Arrays.sort(score, new Comparator<int[]>() {
                @Override
                public int compare(int[] o1, int[] o2) {
                    return o2[1] - o1[1];
                }
            });

            int index = score[0][0];
            System.out.println(school[index]);
        }
    }
}