제한사항
예산으로 지원해줄수있는 부서의 최대갯수 반환
sort()
정렬을 함 (js는 숫자를 정렬할때 sort()
안에(a,b)=> a-b
추가해야 된다reduce()
를 이용하여 배열값을 더하여 그값 예산보다 작거나 같을때 계속 idx를 저장reduce() idx
는 첫배열은 acc에 저장하여 돌리기때문에 결과값+1을 한다function solution(d, budget) {
let answer = 0;
d.sort((a,b)=> a-b);
if(d[0] > budget)return answer;
d.reduce((acc,curr,idx) => {
console.log(idx);
answer = budget >= (acc+curr) ? idx : answer ;
return acc + curr;
});
return answer+1;
}
코드실행까지는 금방 됬는데 제출 하기부분에서 테스트3 부분이 계속 실패로 떳다 해결할려고 변수도 줄여보고 index
저장하는부분을 if()
문을 삼항연산자로 바꾸고 제출도 해봤는데 다 실패로 떠서 문제를 다시 읽고 가능한 상황을 생각해보니 reduce()
만 초반에는 사용했기 때문에 첫값이 예산보다 커도 전부 돌려 효율성이 나빠 실패로 떨어진거다 그래서 if(d[0] > budget)return answer;
추가하고 정상적으로 제출이 됬다 문제를 풀때 문제 입출력만 너무 생각하지말고 좀 더 넓게 예시를 생각해야겠다