1. 문제
2. 생각
문제가 길긴한데 찬찬히 살펴보면
- 과일장수가 가능한 많은 사과를 팔았을 때 -> 아무리봐도 상자 몇개 제한 이라는 말이 없다 -> 비싼 순 m개씩 짤라서 팔면된다.
- Ex) 입출력 예시 1
- 정렬 : 1 1 1 / 2 2 3 3 => 상자 1개 나옴
- m = 4 개씩 묶기 : (위에서 3개 = 2)*m = 2 * 4 = 8
- Ex) 입출력 예시 2
- 정렬 : 1 1 2 / 2 2 2 / 4 4 4 / 4 4 4 => 상자 4개 나옴
- m = 3 개씩 묶기 : (4*m) (4*m) + (2*m) + (1*m)
- 계산 : 4*3+ 4*3 + 2*3 + 1*3 = 24+6+3 = 33
-> 음... 정렬하고 m개씩 짜르고... 그 안에서 계산하면 된다...
3. 코드
import java.util.*;
class Solution {
public int solution(int k, int m, int[] score) {
int answer = 0;
Arrays.sort(score);
for(int i = score.length - m; i >= 0; i -= m)
answer += score[i] * m;
return answer;
}
}