728x90

문제

 

 

 

접근 방식

10, 30, 20, 50, 40, 80, 70, 60

 

만약 위와 같은 로프들이 주어졌을 때를 생각해보면

8개의 로프를 모두 사용한 경우에는 가장 낮은 무게를 들 수 있는

10kg짜리 로프에 맞춰야하기 때문에 80kg를 들 수 있지만

7개를 사용하는 경우에는 20kg에 맞춰서 140kg을 들 수 있다.

10, 20, 30, 40, 50, 60, 70, 80

80, 140, 180, 200, 200, 180, 140, 80

 

정렬을 해서 n개의 추를 사용하는 경우를 모두 계산해보면 위와 같다.

 

결국 정렬을 한 후에 n개를 골랐을 때마다 가능한 무게를 계산하고

그 중에서 가장 큰 값이 정답이 된다.

 

풀이

public class Main {

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

		int n = Integer.parseInt(br.readLine());

		int[] weights = new int[n];

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

		Arrays.sort(weights);

		int max = 0;

		for (int i = 0; i < n; i++) max = Math.max(max, weights[i] * (n - i));

		System.out.println(max);
	}
}

 

'Java > Algorithms' 카테고리의 다른 글

[백준] 1541번 : 잃어버린 괄호  (0) 2024.01.10
[백준] 11501번 : 주식  (1) 2024.01.10
[백준] 1931번 : 회의실 배정  (0) 2023.12.25
[백준] 10844번 : 쉬운 계단 수  (0) 2023.12.24
[백준] 15486번 : 퇴사 2  (1) 2023.12.24

+ Recent posts