본문 바로가기

백준 문제풀기/JAVA

[백준 2217 JAVA 자바] 로프

로프 한개당 w/k만큼의 중량이 걸리게 됩니다

들어올릴 수 있는 물체의 최대 중량을 구합시다

 

1. (1, 100)인경우 두개를 쓰면 들 수 있는 무게는 2지만 한개를 쓰면 100을 들 수 있습니다

2. w/k 와 k 의 관계를 생각해서

3. w의 최대값을 찾습니다

 

코드입니다

 

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

public class Main {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);

		int n = scan.nextInt();
		
		int[] arr = new int[n];
		
		for (int i=0; i<n; i++) {
			arr[i] = scan.nextInt();
		}
		
		Arrays.sort(arr);
		
		for (int i=0; i<n; i++) {
			arr[i] = arr[i] * (n-i);
		}
		
		Arrays.sort(arr);
		
		System.out.println(arr[n-1]);
	}
}

 

저는 sort를 먼저 하고

그 로프 와 그 로프보다 큰 로프의 수를 곱해주면서

최대값을 찾았습니다