알고리즘/프로그래머스 Level1

[프로그래머스,자바] Level1: 예산

류창 2021. 8. 12. 20:03
반응형

문제분석:

문제를 요약하자면,  정해진 budget 속에서  최대한 많은 부서를 지원해주는게 목표다.

 

문제풀이:

 

최대한 많은 부서를 지원해주려면,  신청금액이 적은순부터 지원해줘야한다.

 

따라서 d를 오름차순으로 정렬한다.

 

배열 d를 순회하면서

budget이 0이하가되는순간 순회를 종료하고 answer을 반환한다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import java.util.*;
class Solution {
    public int solution(int[] d, int budget) {
        int answer = 0;
        Arrays.sort(d);
        for(int i=0;i<d.length;i++){
            if(budget-d[i]<0){
                break;
            }
            budget-=d[i];
            answer++;
        }
        return answer;
    }
}
cs
반응형