백준 2217 로프 JAVA

sundays·2023년 5월 9일
0

문제

로프

풀이

문제를 또 이해를 못했기 때문에 이 문제에서 주어지는 10, 15는 왜 20이 되는 가 하고 분석해보겠다.
1. 10을 가지고는 무게 10 까지 밖에 들지 못하고 15는 15까지밖에 들지 못한다
2. 로프 두개를 가지고 최대로 들 수 있는 무게는 20이다.

로프의 개수 x 최소 로프의 하중 = 로프들을 이용하여 들어올릴 수 있는 물체의 최대 중량

그렇기 때문에 최대 하중을 가지고 있는 로프로 들기 위해서는 그 로프만을 써서 밖에 하중을 들어올릴수가 없다

그렇기 때문에 가장 큰 배열을 가지는 것 부터 시작해서 순서대로 1부터 n까지 곱해준 값 중 제일 큰 값이 답이 된다

for (int i =0;i < n; i++) {
	arr[i] = sc.nextInt();
}
Arrays.sort(arr);

for (int i = n - 1; i >= 0; i--) {
	arr[i] *= n - i;
    answer = Math.max(answer, arr[i]);
}

아이디어가 생각하기가 어려웠다..

전체 코드

전체 코드

profile
develop life

0개의 댓글