공부 흔적남기기

프로그래머스 예산 본문

코테/프로그래머스

프로그래머스 예산

65살까지 코딩 2022. 1. 16. 22:56
728x90
반응형
import java.util.ArrayList;
import java.util.Collections;

class Solution {
    public int solution(int[] d, int budget) {
        int answer = 0;
        ArrayList<Integer> arrayList = new ArrayList<>();
        //습관 2차원배열이 아닌 이상 배열은 ArrayList로 바꿔 푸는게 편해서 바꿈
        for (int i : d) {
            arrayList.add(i);
        }
        // 정렬
        Collections.sort(arrayList);
        int count = 0;
        while(count != d.length){
            //예산에서 부서별 신청금액을 작은 것 부터 차례대로 뺌
            // 작은 것 부터 뺴야 살 수 있는 부서가 최대가 될 수 있기 때문
            budget = budget - arrayList.get(count);
            //예산이 0보다 작아진다면 못사는 것이므로 count를 +1 하지않고BYE
            if(budget < 0){
                break;
            //아직 예산이 남아있다면 count를 더하기
            }else{
                count++;
            }
        }
        return count;
    }
}

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

 

코딩테스트 연습 - 예산

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

programmers.co.kr

 

728x90
반응형