링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12982
문제 설명에 최대한 많은 부서의 물품
을 구매해 줄 수 있도록 하려고 합니다. 라고 되어있다.
그럼 숫자가 작은 순으로 먼저 계산하면 지정된 예산 안에서 최대한 많이 구매가 가능할 것이라고 생각했다.
먼저 오름차순으로 정렬한 뒤, 반복문으로 배열을 순회한다.
그리고 예산을 넘지않는지 확인하며 count 증가.
import java.util.*;
class Solution {
public int solution(int[] d, int budget) {
int answer = 0;
Arrays.sort(d);
int count = 0;
for (int i = 0; i < d.length; i++) {
if (d[i] + count <= budget) {
count += d[i];
answer++;
}
}
return answer;
}
}