프로그래머스 | 예산

김선빈·2021년 5월 3일
0

코딩테스트

목록 보기
2/4

👉 문제 설명

  • 문제를 요약을 하자면, 정해진 예산에 대해서 최대한 많은 부서의 물품을 구매하는 문제이다.

👉 javascript 문제 풀이

function solution(d, budget) {
    var count = 0;
    var sum = 0;
    d.sort(function(a, b) {
        return a - b;
    });
    for(var i=0; i < d.length; i++) {
        count++;
        sum += d[i];
        if(sum > budget) {
            count--;
            break;
        }
    }
    return count;
}
  • 먼저 정렬함수임 sort를 사용해 오름차순으로 d 배열을 정렬해준뒤
    d.length 만큼 포문을 돌려 sum 변수에 더해주었다
    그런 뒤 if 문을 통해 예산이 넘으면 break를 사용해 포문을 끝내는 방식으로 하였는데,
    처음에 count를 먼저 더해주는것이 아닌 if문을 위로 올려서 코드를 작성했으면 더 깔금했을거같다.
profile
개발개발개발

0개의 댓글