프로그래머스/level 1
[프로그래머스] 예산
binaryJournalist
2021. 10. 18. 00:38
반응형
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges

오름차순 정렬 후 누적합계가 budget 값 이하인 것만 추출
** Javascript
function solution(d, budget) {
d.sort((a, b) => a - b);
while(d.reduce((a, b) => a + b, 0) > budget) d.pop();
return d.length;
}
효율성이 더 나은 건 아래
function solution(d, budget) {
d.sort((a, b) => a - b);
let total = 0;
for (let i = 0; i < d.length; i++) {
total += d[i];
if (total > budget) return i;
}
return d.length;
}
** Python
def solution(d, budget):
answer = 0
for i, x in enumerate(sorted(d)):
answer += x
if answer > budget:
return i
return len(d)
** Java
import java.util.*;
class Solution {
public int solution(int[] d, int budget) {
Arrays.sort(d);
int sum = 0;
for (int i = 0; i < d.length; i++) {
sum += d[i];
if (sum > budget) return i;
}
return d.length;
}
}
반응형