[プログラマー]コードテスト練習-51


Level 2-救命ボート
特定の人の体重の配列と救命ボートの重量制限をパラメータとして使用する場合は、すべての人を救うために必要な救命ボートの数の最大値を返す解関数を作成します.
  • 救命ボートは小さく、1回に最大2人しか乗れず、重量制限もあります.
  • I/O例
    people : [70, 50, 80, 50]
    limit : 100
    -> 3
    function solution(people, limit) {
        var answer = 0;
        var left = 0;
        var right = people.length - 1;
        people.sort((a, b) => a - b);
        while(left <= right) {
            if (left == right) {
                answer++;
                break;
            }
            if (people[left] + people[right] <= limit) {
                left++;
                right--;
            } else {
                right--;
            }
            answer++;
        }
        return answer;
    }