프로그래머스 - 예산
January 13, 2020
예산
-
이해
- 예산한도내에서 최대한 많은 부서를 지원해주도록 하는 알고리즘
- 요청한 예산이 1000원이면 1000만 지원, 금액이 다르면 지원불가
-
계획
- 정렬을 한다.
- 가능한 최선의 선택으로 지원한다(탐욕법??)
- 테스트코드 작게 잘라보자
-
실행
const getNumOfDep = (d, budget) => { const depArr = d.sort((a,b)=>a-b); let estimate = 0; let count = 0; for(let i = 0; i < depArr.length; i++){ if((estimate + depArr[i]) <= budget){ estimate += depArr[i]; count++; } } return count; }; test("예산", () => { expect(getNumOfDep([10,2,2,3,3], 10)).toEqual(4); });
-
반성
- 어렵게 생각하지 말자. 탐욕법은 가장 최선의 선택을 하는것이다.
- sort를 해줄때 꼭 콘솔에 찍어보자.
- 조건식을 쓸떄는 괄호를 꼭 써주자