function solution(people, limit) {
people.sort((a, b) => {
return a - b;
});
let count = 0;
for (let i = 0; i < people.length; i++) {
let counts = i + 1;
for (let j = i + 1; j < people.length; j++) {
people[i] += people[j];
if (people[i] <= limit) {
counts = counts + 1;
} else {
i = counts;
count = count + 1;
break;
}
}
}
}
구명보트에 탈 수 있는 사람이 최대 2명이라는 것 을 읽지 못하고 풀었던 코드이다. 문제가 많지만 도중에 발견하여 처음부터 새로 만들어보았다.
function solution(people, limit) {
var answer = 0;
people.sort((a, b) => {
return a - b;
});
while (people.length > 0) {
const p = people.pop(); // 맨뒤의 값 제거
let w = limit - p; // 제한된 무게에세 제일 무거운 사람을 뺴기
if (people[0] <= w) {
people.splice(0, 1); //만약 뺀후 몸무게가 제일 낮은사람의 몸무게보다 높을때 배열내 작은 몸무게 제거
}
answer++;
}
return answer;
}
최대 2명이라는 것을 알게되어 훨씬 수월했던 것 같다.