https://school.programmers.co.kr/learn/courses/30/lessons/12982
프로그램 제작자
코드 중심 개발자를 고용하십시오. 배치 기반 위치 매칭. 프로그래머의 개발자별 프로필에 가입하고 기술 호환성이 좋은 회사와 연결하십시오.
Programmer.co.kr
package study.java.programmers.level01;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
// 예산
// https://school.programmers.co.kr/learn/courses/30/lessons/12982
public class Level01_42 {
public static void main(String() args) {
System.out.println(solution(new int(){1,3,2,5,4}, 9)); // 3
System.out.println(solution(new int(){2,2,3,3}, 10)); // 4
System.out.println(solution(new int(){1,1,1,1,1}, 11));
}
public static int solution(int() d, int budget) {
int answer = 0;
List<Integer> nList = Arrays.stream(d).boxed().collect(Collectors.toList()); // 배열을 리스트로 변환
Collections.sort(nList); // 오름차순 정렬
int sumVal = nList.stream().mapToInt(Integer::intValue).sum();
if(sumVal == budget){
answer = nList.size();
}else{
int sum = 0;
for(int i=0; i<nList.size(); i++){
sum += nList.get(i);
if(sum > budget){
answer = i;
break;
}else if(sum == budget){
answer = (i + 1);
break;
}else{
answer ++;
}
}
}
return answer;
}
}
