Algorithm

[그리디] 백준 2217 로프 JAVA

EllaCoo 2024. 4. 9. 16:27
package com.test.greedy;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Comparator;

public class G_4_2217 {
    public static void main(String[] args) throws Exception{
        // [그리디] 백준 2217 로프 JAVA
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());
        Integer[] inputArr = new Integer[n];
        for (int i = 0 ; i < n ; i++) {
            inputArr[i] = Integer.parseInt(br.readLine());
        }
        Arrays.sort(inputArr, Comparator.reverseOrder()); // 내림차순 정렬 (int[] X! => Integer[] O)
        int maxWeight = Integer.MIN_VALUE;
        for (int i = 0 ; i < n ; i++) {
            int temp = inputArr[i] * (i+1);
            maxWeight = Math.max(maxWeight, temp);
        }
        System.out.println(maxWeight);
    }
}

 

시간복잡도 : O(n log n)