https://www.acmicpc.net/problem/2217
2217번: 로프
N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하
www.acmicpc.net
저는 해당 문제를 한번 정렬해서 문제를 해결하였습니다.
오름차순 정렬을 하게 되면 해당 값보다 뒤에 있는 것들은 이 값보다 크기 때문에 해당 무게와 뒤에 있는 로프의 개수만큼의 무게를 들 수 있게 됩니다. 이 값들의 최대 값을 결과로 출력하였습니다.
package BOJ.ETC;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
import java.util.function.Function;
public class BOJ_2217 {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// StringTokenizer st = new StringTokenizer(br.readLine());
Function<String,Integer> stoi = Integer::parseInt;
int n = stoi.apply(br.readLine());
int[] input = new int[n];
for(int i = 0 ; i < n; i++){
input[i] = stoi.apply(br.readLine());
}
Arrays.sort(input);
int result = 0;
for(int i = 0 ; i < n ; i++){
result = Math.max(input[i] * (n - i ),result);
}
System.out.println(result);
}
}
'알고리즘' 카테고리의 다른 글
백준 2661번 좋은수열 (JAVA) (0) | 2022.02.15 |
---|---|
백준 16929번 Two Dots (JAVA) (0) | 2022.02.14 |
백준 1655번 가운데를 말해요 (JAVA) (0) | 2022.02.12 |
백준 2352번 반도체 설계 (JAVA) (0) | 2022.02.11 |
백준 13904번 과제 (JAVA) (0) | 2022.02.10 |