프로그래머스 예산

조항주·2022년 4월 19일
0

algorithm

목록 보기
31/50
post-thumbnail

문제

https://programmers.co.kr/learn/courses/30/lessons/12982?language=javascript

코드

function solution(d, budget) {
    var answer = 0;
    let sum=0;
    d.sort((a,b)=>a-b);
    for(let i=0;i<d.length;i++){
        sum+=d[i];
        if(sum<=budget) answer++;
        else break;
    }
    return answer;
}

풀이

간단한 그리디 문제입니다. 저는 먼저 내장함수 sort를 사용해서 배열을 오름차순으로 정렬해줬습니다. 여기서 sort함수에 아무런 인자도 넣지 않으면 아스키코드를 기준으로 정렬하기 때문에 비교 함수를 인자로 넣어줬습니다.

sort함수는 비교함수의 반환값이 음수일경우에는 순서를 변경하지 않고 양수일 경우에는 순서를 변경합니다.

배열을 정렬한 후에는 반복문을 돌면서 값이 예산을 초과하는지 검사해줍니다.

0개의 댓글