예산

김나영·2023년 6월 20일
0

프로그래머스

목록 보기
22/39

문제 : 예산

풀이

int sum = 0;
Arrays.sort(d);
  • 각 부서별 신청 금액을 합한 값을 sum으로 지정 후 0으로 초기화

  • 최소 금액이 나오려면 작은 수끼리 더해야하므로 오름차순으로 배열을 정렬

for (int i = 0; i < d.length; i++) {
   sum += d[i];
}   
  • 각 부서별로 신청한 금액을 더해야하므로 부서의 길이만큼 순회

  • 각각의 금액을 sum에 더한 후 저장

if (budget >= sum) {
  answer++;
}else break;
  • 지원 금액이 신청 예산보다 크다거나 같다면 카운트

  • 그게 아니라면(지원 금액이 신청 예산보다 작다면) 끝

전체 코드

import java.util.Arrays;
class Solution {
    public int solution(int[] d, int budget) {
        int answer = 0;
        int sum = 0;
        Arrays.sort(d);
        for (int i = 0; i < d.length; i++) {
            sum += d[i];
           if (budget >= sum) {
                answer++;
            }else break;
        }
        return answer;
    }
}

0개의 댓글