티스토리 뷰
1. 문제
https://www.acmicpc.net/problem/2217
2. 설명
왜 그리디에 있는지 모르겠는 문제.
최대 중량을 구하는 것이라서 배열을 한번 순환했다.
문제를 읽어보면 해당 로프가 버틸 수 있는 최소 중량 * 로프 수 라는 식이 나온다.
그거 계산해서 최댓값 구하면 된다.
3. 코드
import java.util.Arrays;
import java.util.StringTokenizer;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int N = Integer.parseInt(st.nextToken());
int[] rope = new int[N];
for(int i=0; i<N; i++) {
st = new StringTokenizer(br.readLine());
rope[i] = Integer.parseInt(st.nextToken());
}
Arrays.sort(rope);
int max = 0;
for(int i=0; i<rope.length; i++) {
int weight = rope[i] * (rope.length-i);
max = max > weight ? max : weight;
}
System.out.println(max);
}
}
'알고리즘 풀이 > 백준' 카테고리의 다른 글
백준 1157 단어 공부 JAVA (0) | 2020.07.31 |
---|---|
백준 1049 기타줄 JAVA (0) | 2020.07.30 |
백준 9461 파도반 수열 JAVA (DP) (0) | 2020.07.20 |
백준 11727 2xn 타일링 2 JAVA (DP) (0) | 2020.07.18 |
백준 10844 쉬운 계단 수 JAVA (DP) (0) | 2020.07.11 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday