문제 풀이 (JAVA)

import java.util.*;
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(sum>budget){ // 예산을 초과했을 경우
                break; // 로직 종료
            }
            answer++; // 예산을 초과하지 않았을 경우 지원가능 부서 1 증가
        }
        return answer; // 지원가능 부서 리턴
    }
}

주요 핵심 포인트

1. Arrays.sort 함수를 참조하여 예산을 오름차순으로 정렬하였다.

2. 예산이 초과했을 경우 종료하고, 예산을 초과하지 않는다면 answer 카운트를 1씩 증가 시켰다.

'프로그래머스(JAVA)' 카테고리의 다른 글

약수의 개수와 덧셈  (0) 2022.05.21
3진법 뒤집기  (0) 2022.05.21
두 개 뽑아서 더하기  (0) 2022.05.21
2016년  (0) 2022.05.21
최소직사각형  (0) 2022.04.24

+ Recent posts