[Level2] 구명보트
구명보트
나의 풀이
function solution(people, limit) {
let answer = 0;
people = people.sort((a, b) => b - a);
let left = 0;
let right = people.length;
while (left < right) {
if (people[left] + people[right] > limit) left++;
else {
left++;
right--;
}
answer++;
}
return left === right ? ++answer : answer;
}
옛날부터 도전했는데 탐욕법이 어려웠어서 헤매던 코드였는데, 이제는 풀었다!
(한시간은 해맸지만…)
딱 탐욕법 알고리즘에 적합한 문제였던것 같다.!
best 풀이
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;
}