https://programmers.co.kr/learn/courses/30/lessons/12982
코딩테스트 연습 - 예산
S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는
programmers.co.kr
부서별로 신청한 금액이 들어있는 배열 d를 오름차순 정렬을 하고
차례로 합해서 예산과 비교한다.
합할 때마다 지원할 수 있는 부서 수를 증가시킨다.
비교해서 합한 값이 예산보다 크면 break한다.
public static int solution(int[] d, int budget) {
int answer = 0;
int sum = 0;
Arrays.sort(d);
for(int n : d) {
if(sum + n > budget) break;
sum += n;
answer++;
}
return answer;
}
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스]연습문제>제일 작은 수 제거하기 Java (0) | 2021.06.30 |
---|---|
[프로그래머스]연습문제>2016년 Java (0) | 2021.06.29 |
[프로그래머스]2019카카오개발자겨울 인턴십>크레인 인형뽑기 게임 Java (0) | 2021.06.28 |
[프로그래머스]탐욕법>체육복 Java (0) | 2021.06.28 |
[프로그래머스]연습문제>가운데 글자 가져오기 Java (0) | 2021.06.27 |