예산

·2022년 4월 8일
0

알고리즘

목록 보기
46/47

이것도 생각보다? 쉽게 풀었던 것으로 기억난다. 이거 2주차에 풀었던 것 같은데
코드 보자마자 어케돌아가는건지 바로 보이는거보면 금방 풀었던 듯 하다.

function solution(d, budget) {
  let count = 0
    d.sort((a,b)=>{return a-b})
  for (let i=0; i<= d.length; i++){
    if(budget-d[i]>= 0){
      budget -= d[i]
      count += 1
    }
  }
  return count
}
  1. 최대한 많은 금액을 지원해줘야하기 때문에 정렬
  2. 지원금액 요청의 길이만큼 반복문을 돌린다
  3. 만약에 예산 - 지원 금액이 0보다 크거나 같다면
  4. 그 값을 예산에서 제외하고 카운트를 1 올려준다.
  5. 계속 반복을 해서 예산 - 지원금액이 0보다 작아진다면 반복문을 종료하고 카운트값을 리턴한다
profile
물류 서비스 Backend Software Developer

0개의 댓글