[백준, BOJ 2217] 로프 (java)
Problem Solving/BOJ

[백준, BOJ 2217] 로프 (java)

728x90

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

메모리: 26,824  KB , 시간: 280 ms

사용 알고리즘: 그리디 알고리즘, 수학, 정렬

728x90

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

public class Main {

    public static void main(String[] args) throws Exception{

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

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

        int[] ropes = new int[N];
        for (int i = 0; i < N; i++) {
            ropes[i] = Integer.parseInt(br.readLine());
        }

        // 최대 중량을 오름차순으로 정렬
        Arrays.sort(ropes);

        int result = 0;
        for(int i = 0; i < N; i++) {
            // 현재 로프를 최소 중량으로 했을 때, 최댓값이면 답 갱신
            result = Math.max(result, ropes[i] * (N - i));
        }

        System.out.println(result);
    }
}
728x90