반응형
🔐 문제 설명
https://school.programmers.co.kr/learn/courses/30/lessons/135808
🔐 문제 분석
- 과일세트가 구성되면 구성된 과일 중 최저가격으로 세트의 가격이 책정되므로, 가격이 낮은 과일은 낮은 과일끼리, 높은 과일은 높은 과일끼리 구성되면 좋다. 따라서 과일 가격일 기준으로 정렬한다.
- 과일은 m 개씩 구성되므로 '슬라이딩 윈도우' 알고리즘을 활용하여 구성되는 과일의 가격을 책정한다.
- 오름차순 정렬을 했으므로, 왼쪽 포인터가 가르키는 과일이 가장 낮은 금액이 될 것이므로 해당 금액 * 과일의 수(m)를 계산하면 과일세트 가격을 얻을 수 있다.
🔐 문제 풀이
import java.util.Arrays;
class Solution {
public int solution(int k, int m, int[] score) {
int answer = 0;
Arrays.sort(score);
int rightPoint = score.length - 1;
int leftPoint = rightPoint - m + 1;
while (leftPoint >= 0) {
answer += score[leftPoint] * m;
rightPoint -= m;
leftPoint -= m;
}
return answer;
}
}
반응형
'Algorithm' 카테고리의 다른 글
[프로그래머스] Lv1. 푸드 파이트 대회 (0) | 2023.06.12 |
---|---|
[프로그래머스] Lv1. 모의고사 (0) | 2023.06.12 |
[프로그래머스] Lv1. 콜라 문제 (0) | 2023.06.11 |
[프로그래머스] Lv1. 폰켓몬 (0) | 2023.06.10 |
[프로그래머스] Lv1. 2016년 (0) | 2023.06.10 |