
슬라이딩 윈도우
score 배열을 내림차순으로 정렬합니다.
left와 right를 각각 0과 left + m으로 할당합니다.
score 배열을 left부터 right전 까지 자른 다음, 그 중 가장 작은 값에 * m을 해주고 정답 변수에 더합니다.
left를 right로 재할당하고, right를 left + m으로 재할당합니다.
right가 score 배열의 길이를 넘는다면 반복을 종료하고 정답을 반환합니다.
function solution(k, m, score) {
let answer = 0;
let left = 0;
let right = left + m;
score = score.sort((a, b) => b - a);
while (right <= score.length) {
answer += Math.min(...score.slice(left, right)) * m;
left = right;
right = left + m;
}
return answer;
}