99클럽 코테 스터디 26일차 TIL - map과 최대값

수삼·2024년 11월 23일
0

코딩테스트

목록 보기
32/44

import java.io.*;
import java.util.*;
import java.lang.*;

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));
        StringBuilder sb = new StringBuilder();

        int cases = Integer.parseInt(br.readLine());

        HashMap<Integer, String> map = new HashMap();
        int max = Integer.MIN_VALUE;
        for (int i = 0; i < cases; i++) {
            int univs = Integer.parseInt(br.readLine());
            for (int j = 0; j < univs; j++) {
                StringTokenizer st = new StringTokenizer(br.readLine());
                String univ = st.nextToken();
                int alcohol = Integer.parseInt(st.nextToken());

                map.put(alcohol, univ);
                if (alcohol > max) {
                    max = alcohol;
                }

            }
            sb.append(map.get(max)).append("\n");
        }

        bw.write(sb.toString());
        bw.flush();
        bw.close();
        br.close();

    }
}
  1. 맵에 넣고 최대값을 따로 저장해둔다.
  2. 출력한다.

같은 케이스에서 변동이 없다고 해서 소비량(숫자)를 키로 썼는데
만약 변동이 생기는 경우면 key와 value 값이 바뀌어야 한다.

0개의 댓글