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 |