끄적끄적 코딩일지

[Programmers]예산(난이도:★★★★) 본문

알고리즘

[Programmers]예산(난이도:★★★★)

BaekGyuHyeon 2022. 5. 16. 20:37

https://programmers.co.kr/learn/courses/30/lessons/12982

 

코딩테스트 연습 - 예산

S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는

programmers.co.kr

class Solution {
	// 요청 예산을 오름차순으로 정렬후 차례대로 지급하면 가장 많은 부서에 지급할수 있다.
    public int solution(int[] d, int budget) {
        sort(d);
        int answer = 0;
        for(int i : d){
            if(budget - i >= 0){
                budget -= i;
                answer++;
            }else
                break;
        }
        return answer;
    }
    public void sort(int[] d){
        int idx = d.length-1;
        for(int i = 0 ; i < d.length;i++){
            for(int j = 0 ; j < idx; j++){
                if(d[j] > d[j+1]){
                    int tmp = d[j];
                    d[j] =d[j+1];
                    d[j+1] = tmp;
                }
            }
            idx--;
        }
    } 
}