[ Programmers ] 예산 (Java)

1. Problem 📃

[ 예산 ]
https://programmers.co.kr/learn/courses/30/lessons/12982


2. Constraint 🔗


3. Solution 🔑

  1. 입력 받은 부서별 필요 예산(d)을 sort로 오름차순 정렬해준다
  2. 예산(budget)을 부서별 적은 금액을 필요로하는 부서부터 천천히 분배해주면
    최대한 많은 부서가 예산을 분배 받을 수 있다.

4. Code 💻

import java.util.Arrays;

class Solution {
    public int solution(int[] d, int budget) {
        int answer = 0;
        int count = 0;
        Arrays.sort(d);
        for(int i=0; i<d.length; i++) {
        	if(budget < 0) {
        		break;
        	}
            budget -= d[i];
        	count++;
        }
        answer = count--;
        return answer;
    }
}

5. Growth 🍄

오름차순

이번 문제에서는 Arrays.sort() 라는 메서드가 사용 되었는데,
java.util.Arraysimport 해주면 따로 정렬 로직을 짜지 않아도,
배열을 한번에 정렬 할 수 있다.


내림차순은?

배열을 내림차순으로 정렬할 때는 Collections클래스에 reverseOrder() 함수를 사용하면 된다.
Arrays.sort(배열명, Collections.reverseOrder());

좋은 웹페이지 즐겨찾기