🔗 문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/135808
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
📝 문제 요약
과일 장수가 사과 상자를 포장 중입니다.
k점이 최상품 사과이고 1점이 최하점 사과입니다.
- 사과 한 상자 가격 결정 규칙
- 한 상자에 사과를 m 개씩 담아 포장합니다.
- 상자에 담긴 사과 중 가장 낮은 점수가 p (1 <= p <= k)점인 경우, 사과 한 상자 가격은 p * m입니다.
그리고, 사과는 상자 단위로만 판매하며, 남은 사과는 버립니다.
=> 위와 같은 규칙으로 최대 이익을 return 하는 함수를 완성해 주세요~!
사과의 최대 점수 k, 한 상자에 들어가는 사과의 수 m, 사과들의 점수 score가 주어집니다.

🔍 문제 풀이 (feat. 접근 방법)
최대 이익을 남기기 위해서는 사과 점수가 높은 것들로만 상자에 담아야 한다는 것을 기억!
=> sort() 정렬이 필요하다.
그러고 나서 상자의 개수만큼 for문을 돌면서
최저 사과 점수 X 한 상자에 담긴 사과 개수 X 상자의 개수 (for문 도는 횟수)
를 식으로 표현해 보자!! 생각보다 간단하잖아..? 괜히 어렵게 생각한....
👩🏻💻 전체 코드
import java.util.*;
class Solution {
public int solution(int k, int m, int[] score) {
int answer = 0;
// 우선 score 배열을 정렬
Arrays.sort(score);
// 반복문을 통해 m개씩 담기는 상자 중 가장 작은 점수를 가진 사과에 접근하여 answer에 합치기
for(int i = score.length - m; i >= 0; i -= m)
answer += score[i] * m;
return answer;
}
}
'스터디 > 묘공단 자바 코딩테스트' 카테고리의 다른 글
| [프로그래머스/Java] 8일차 코테 문풀 - Lv. 1 성격 유형 검사하기 (0) | 2024.04.23 |
|---|---|
| [묘공단] 1, 2주 차 코딩 테스트 합격자 되기: 자바 (책 요약) (1) | 2024.04.22 |
| [프로그래머스/Java] 5일차 코테 문풀 - Lv. 1 카드 뭉치 (0) | 2024.04.20 |
| [프로그래머스/Java] 4일차 코테 문풀 - Lv. 1 추억 점수 (0) | 2024.04.19 |
| [프로그래머스/Java] 3일차 코테 문풀 - Lv. 1 명예의 전당 (1) (0) | 2024.04.18 |