알고리즘/프로그래머스

[프로그래머스]Summer/Winter Coding(~2018)>예산 Java

Ellie67 2021. 6. 29. 14:17

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;
    }