본문 바로가기
백준알고리즘

[Java][그리디 알고리즘] 백준 2217 로프

by tiit 2021. 5. 2.
반응형

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

public class Main {

public static void main(String[] args) throws NumberFormatException, IOException {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    int n = Integer.parseInt(br.readLine());
    int[] rope = new int[n];
    int[] ans = new int[n];

    for(int i=0; i<n; i++) {
        rope[i] = Integer.parseInt(br.readLine());

// System.out.println(rope[i]);

    }

        Arrays.sort(rope);


    for(int i=0; i<n; i++) {

// System.out.println(rope[i]);
ans[i] = rope[i] * (n-i);
// System.out.println(ans[i]);

    }

        Arrays.sort(ans);     
    System.out.println(ans[n-1]);
}

}

이것도 쉬운데 문제가 잘 이해가 안갔는데요
만약 로프가 5 10 15 이렇게 있을 때
5 5 5 = 15
10 10 = 20
15 = 15 이렇게 해서 10 10 나눠서 드는게 최대 중량을 들을 수 있어서 이게 정답이에요
max 값 구하려고 배열하나 더 만들었는데 .. 그렇게 좋은 답은 아닌 것 같군요 .. ㅋ
어쨋든 풀었으니깐요 ~~!
그럼 20000

반응형

댓글