문제 풀이 (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 |