WorkHard/코딩테스트

[코딩테스트] JAVA 프로그래머스 연습문제 - 과일 장수

코딩공대 2023. 3. 15. 13:35
728x90

문제 : 프로그래머스 LV1. 과일 장수

- 풀이

사과의 상태에 따라 1점부터 k점까지 점수로 분류하며, k점이 최상품이고 1점이 최하품이다.

사과의 가격은 
 - 한상자에 m개의 사과를 담아 포장한다.
 - 상자에 담긴 사과 중 가장 낮은 점수가 p(1 <= p <= k)점인 경우, 사과 한 상자의 가격은 p * m이다.

과일 장수가 가능한 많은 사과를 팔았을 때, 얻을 수 있는 최대 이익을 계산하고자 한다.(사과는 상자 단위로만 판매하여, 남는 사과는 버린다.)

사과의 최대 점수 k, 한 상자에 들어가는 사과의 수 m, 사과들의 점수 score가 주어졌을 때, 과일 장수가 얻을 수 있는 최대 이익을 rerturn하는 solution을 완성하는 문제

 

  1. 결과값을 담을 result를 선언한다.

  2. 배열을 정렬한다.

  3. for문을 돌린다.

    3-1. score의 길이만큼 i값을 돌리고, i는 m의 값보다 크거나 같아야하고, 한번 돌면 m값을 - 해주어야 한다.

    3-2. result는 (score[i - m] * m)에서 m을 곱해준다.

  4. 결과를 리턴한다.

- 코드


배열을 정렬한 후 문제를 풀면 되는 문제였다!!!!!!!!