- 문제
- Greedy(탐욕법) 관련 문제
- 구출해야 할 사람들의 몸무게 배열과 구명보트의 무게제한이 주어짐
- 최소한으로 운행할 때, 몇번에 전부 구출할수 있는지를 리턴하라
- 최소 1명 이상을 구해야하고, 최대 몸무게가 무게제한을 넘지 않음
- 수도코드
- 시도
function solution(people, limit) {
let cnt = 0;
let sa = people.sort((a,b) => b-a);
let hp = 0;
let lp = people.length - 1;
while (hp <= lp) {
let sw = sa[hp] + sa[lp];
if (sw > limit) {
hp++;
} else {
hp++;
lp--;
}
cnt++;
}
return cnt;
}
- 레퍼런스
function solution(people, limit) {
people.sort(function(a, b){return a-b});
for(var i=0, j=people.length-1; i < j; j--) {
if( people[i] + people[j] <= limit ) i++;
}
return people.length-i;
}
- 레퍼런스 공부 및 주석
function solution(people, limit) {
people.sort(function(a, b){return a-b});
for(var i=0, j=people.length-1; i < j; j--) {
if( people[i] + people[j] <= limit ) i++;
}
return people.length-i;
}