728x90

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

 

2217번: 로프

N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하

www.acmicpc.net

 

 

풀이)

import java.util.Arrays;
import java.util.Scanner;

public class Main_BJ_2217_로프 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] arr = new int[n];
        for(int i=0; i<n; i++){
            arr[i] = sc.nextInt();
        }
        Arrays.sort(arr);
        int max = 0;
        for(int i=0; i<n; i++){
            max = Math.max(max, (n-i)*arr[i]);
        }
        System.out.println(max);

    }//main
}

로프의 중량을 받아 정렬을 해준다.

그 후 택한 로프의 최대 중량을 병렬로 연결했을 때의 무게를 계산하면서 max 값을 구하면 된다.

 

그리디로 해결할 수 있는 간단한 문제!

728x90

'코테 > 백준' 카테고리의 다른 글

백준 1245 농장 관리(JAVA)  (0) 2023.04.04
백준 15903 카드 합체 놀이(JAVA)  (0) 2023.04.03
백준 1932 정수 삼각형(JAVA)  (0) 2023.03.30
백준 1966 프린터 큐(JAVA)  (0) 2023.03.28
백준 1152 단어의 개수(JAVA)  (0) 2023.03.23

+ Recent posts