JAVA/Algorithm
[프로그래머스/java] 예산 (Summer/Winter Coding 2018)
nang.
2020. 12. 16. 22:11
반응형
SMALL
https://programmers.co.kr/learn/courses/30/lessons/12982
코딩테스트 연습 - 예산
S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는
programmers.co.kr
- 문제의 핵심!
꼭 예산을 0만큼 남기라는 것이 아니라 나눌 수 있는 최대 부서면 된다는 것
그렇다면 작은 금액부터 나누어주는 방식이면 최대로 나누어줄 수 있겠지!
그래서 정렬부터 해주고 시작한다.
import java.util.*;
class Solution {
public int solution(int[] d, int budget) {
int answer = 0;
int sum = 0;
/* 문제의 핵심!
꼭 예산을 0만큼 남기라는 것이 아니라 나눌 수 있는 최대 부서면 된다는 것
그렇다면 작은 금액부터 나누어주는 방식이면 최대로 나누어줄 수 있겠지!
그래서 정렬부터 해주고 시작한다.
*/
Arrays.sort(d);
for(int i = 0; i < d.length; i++) {
if(sum + d[i] > budget) { // 예산 초과되면 그만
break;
}
sum += d[i];
answer++;
}
return answer;
}
}
반응형
LIST