
문제 풀이
- 그냥 minheap 으로 푸는 문제임
- but,.. js 에는 heap 이 내장되어 있지 않음 ㅠ
- 따라서 남의 코드를 보고 배꼈음
나의 풀이
function solution(n, works) {
var answer = 0;
// 원래 이거 힙 문제인데 빡구현하기 귀찮아서 남의 코드 봄 \
if(works.reduce((acc,curr)=>acc+curr,0)<n) return 0;
works.sort((a,b)=>b-a);
//젤 큰수대로 sort 해서 내림차순함
while(n>0){
// n을 줄어나가는 식으로
let max_= works[0];
// 시작할때 여기가 잴 큼
for(var i=0; i<works.length; i++){
if(works[i]>=max_){
n-=1;
works[i]-=1;
// 하나씩줄임
}
if(!n>0){
break;
}
}
}
return works.reduce((acc,cur)=> acc+ cur**2 ,0)
}