반응형
출처: 프로그래머스 코딩 테스트 연습, 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;
}
}
반응형
'프로그래머스 > level 1' 카테고리의 다른 글
[프로그래머스] 폰켓몬 (0) | 2021.10.18 |
---|---|
[프로그래머스] 체육복 (0) | 2021.10.18 |
[프로그래머스] 약수의 개수와 덧셈 (0) | 2021.10.18 |
[프로그래머스] 3진법 뒤집기 (0) | 2021.10.18 |
[프로그래머스][위클리챌린지] 8주차 최소직사각형 (0) | 2021.09.30 |