예산

예산
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// https://programmers.co.kr/learn/courses/30/lessons/12982
function solution(d, budget) {
let answer = 0;
d = d.sort((a, b) => a - b);
console.log(d);
let count;
for (count = 0; count < d.length; count++) {
const element = d[count];
budget -= element;
if (budget < 0) {
break;
} else if (budget == 0) {
count++;
break;
}
}
answer = count;
return answer;
}
result = solution([1, 3, 2, 5, 4], 9);

해설

  • 각 부서의 요구 금액 배열과 예산이 인풋으로 들어온다
  • 최대한 많은 부서에게 지원하는 경우, 그 부서의 개수를 구해 리턴한다
  • 먼저 배열을 오름차순으로 정렬한다
  • 배열 앞에서 부터 하나씩 지원해주면서 예산을 깐다. 카운트++ 한다
  • 그러다가 예산이 요구하느 금액보다 작아 지원을 못해주는 경우 break한다
  • 현재까지 count를 반환한다
Author

chinsung

Posted on

2020-09-18

Updated on

2021-08-04

Licensed under

댓글