백준 5635번 생일 JAVA

YB·2025년 2월 1일

링크텍스트

설명

Comparator 정렬을 통해 풀 수 있는 문제이다.
시간복잡도: O(NLogN), 공간복잡도: 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));
	    StringTokenizer st;
	    int n = Integer.parseInt(br.readLine());

        String arr [][] = new String [n][4];

        for(int i=0;i<n;i++){
            st = new StringTokenizer(br.readLine());

            arr[i][0] = st.nextToken();
            arr[i][1] = st.nextToken();
            arr[i][2] = st.nextToken();
            arr[i][3] = st.nextToken();

        }

        Arrays.sort(arr, new Comparator<String []>(){

            @Override
            public int compare(String o1[],String o2[]){
                if(o1[3].equals(o2[3])){
                    if(o1[2].equals(o2[2])){
                        return Integer.parseInt(o1[1]) - Integer.parseInt(o2[1]);
                    }else
                        return Integer.parseInt(o1[2]) - Integer.parseInt(o2[2]);
                }else
                    return Integer.parseInt(o1[3]) - Integer.parseInt(o2[3]);
            }
        });

        System.out.println(arr[n-1][0]);
        System.out.println(arr[0][0]);

	}
}

profile
안녕하세요

0개의 댓글