https://school.programmers.co.kr/learn/courses/30/lessons/42885?language=javascript
2명밖에 못태우기때문에, 가벼운 순으로 태우는 것은 비효율적.
정렬한 뒤 가벼운사람과 무거운 사람을 더해서 limit과 비교함.
태울 수 있다면 start값을 올리고 end값을 내린다 (두 사람이 탔기 때문에)
태울 수 없다면 end값을 내린다. (무거운 사람이 혼자 탔기 때문에)
function solution(people, limit) {
people.sort((a,b)=>a-b)
let start = 0;
let end = people.length-1;
let answer = 0;
while(start<=end){
if(start!=end && people[start]+people[end] <= limit){
start++;
}
end--;
answer++;
}
return answer
}
for문으로 start, end값을 조작한게 신기해서 가져왔다.
function solution(people, limit) {
var answer = 0;
people = people.sort((a,b)=>b-a)
for(let i =0, j = people.length-1; i <= j ; i++ ){
if(people[i]+people[j] <= limit) j--
answer++
}
return answer;
}