Yangjojang of The Year 11557번 [10일차]

시간제한 메모리 제한
2초 256MB

문제

입학 OT때 누구보다도 남다르게 놀았던 당신은 자연스럽게 1학년 과대를 역임하게 되었다.

타교와의 조인트 엠티를 기획하려는 당신은 근처에 있는 학교 중 어느 학교가 술을 가장 많이 먹는지 궁금해졌다.

학교별로 한 해동안 술 소비량이 주어질 때, 가장 술 소비가 많은 학교 이름을 출력하여라.

 

입력

입력의 첫 줄에는 테스트 케이스의 숫자 T가 주어진다.

매 입력의 첫 줄에는 학교의 숫자 정수 N(1 ≤ N ≤ 100)이 주어진다.

이어서 N줄에 걸쳐 학교 이름 S(1 ≤ |S| ≤ 20, S는 공백없는 대소문자 알파벳 문자열)와 해당 학교가 지난 한 해동안 소비한 술의 양 L(0 ≤ L ≤ 10,000,000)이 공백으로 구분되어 정수로 주어진다.

같은 테스트 케이스 안에서 소비한 술의 양이 같은 학교는 없다고 가정한다.

 

출력

각 테스트 케이스마다 한 줄에 걸쳐 술 소비가 가장 많은 학교의 이름을 출력한다.

 

나의코드

package day10;

import java.io.*;
import java.util.StringTokenizer;

public class Solution2 {
    // Yangjojang of The Year - 11557번
    public static void main(String[] args) throws IOException {
        
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();

        //테스트 케이스 개수
        int N = Integer.parseInt(br.readLine());

        for(int i = 0;i <N;i++){
            // 학교 수
            int M = Integer.parseInt(br.readLine());

            // 가장 큰수
            long max = 0;
            // 가장 큰 수를 가진 학교이름
            String maxName = "";

            for(int j = 0;j <M;j++){
                StringTokenizer st = new StringTokenizer(br.readLine());
                String name = st.nextToken();
                long num = Long.parseLong(st.nextToken());

                // 입력받은 숫자가 num 보다 크면 max바꾸기 / 학교이름도 저장
                if(max < num){
                    maxName = name;
                    max = num;
                }
            }
            sb.append(maxName).append("\n");
        }

        br.close();
        System.out.println(sb);

    }

}