int sum = 0;
Arrays.sort(d);
각 부서별 신청 금액을 합한 값을 sum으로 지정 후 0으로 초기화
최소 금액이 나오려면 작은 수끼리 더해야하므로 오름차순으로 배열을 정렬
for (int i = 0; i < d.length; i++) {
sum += d[i];
}
각 부서별로 신청한 금액을 더해야하므로 부서의 길이만큼 순회
각각의 금액을 sum에 더한 후 저장
if (budget >= sum) {
answer++;
}else break;
지원 금액이 신청 예산보다 크다거나 같다면 카운트
그게 아니라면(지원 금액이 신청 예산보다 작다면) 끝
import java.util.Arrays; class Solution { public int solution(int[] d, int budget) { int answer = 0; int sum = 0; Arrays.sort(d); for (int i = 0; i < d.length; i++) { sum += d[i]; if (budget >= sum) { answer++; }else break; } return answer; } }