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 |