코린이의 소소한 공부노트

[프로그래머스/Lv.1] 과일 장수 본문

코딩테스트 풀이/JAVA

[프로그래머스/Lv.1] 과일 장수

무지맘 2022. 12. 28. 12:44

1. Input

1) 최상품 사과의 점수 k

2) 한 상자에 담을 사과의 개수 m

3) 사과들의 점수를 담은 배열 score

 

2. Output

1) 과일 장수가 얻을 수 있는 최대 이익

// 이익 계산 방벙

- 한 상자에 담을 m개의 사과 중 가장 낮은 점수가 p점이라고 하면, 해당 상자의 가격은 p * m

- 다 담고 남은 사과가 m개보다 적다면 팔지 못한다.

 

3. Constraint

1) 3 k 9

2) 3 m 10

3) 7 score의 길이 1,000,000

4) 1 score[i] k

5) 이익이 발생하지 않는 경우에는 0을 반환

 

4. Example

Input: k=3, m=4, score=[1,2,3,1,2,3,1] -> Output: 8

설명:

- score의 길이는 7이므로, 4개씩 1상자밖에 만들 수 없다.

- [2,3,2,3]으로 구성된 사과 1상자를 만들어 판매하는 것이 최대 이익을 얻는 방법이며, 그 이익은 2 * 4 = 8이다.

 

5. Code

1) 첫 코드(2022/12/28)

import java.util.*;
 
int answer = 0;
Arrays.sort(score);
for(int i=score.length-m ; i>=0 ; i-=m)
    answer += score[i];
return answer*m;

  - k를 써먹는 방법을 잘 모르겠다.