프로그래머스 LEVEL 2(구명보트)

image

  • 사용 언어 : javascript

  • 해결 날짜 : 2022-09-17

  • 해결 방법 :
    • 오름차순 정렬 후 첫 값과 마지막 값의 합이 limit보다 작거나 같다면 shift(), pop()
    • limit보다 크다면 무거운 사람만 pop();
  • 회고 :
    • x
  • 코드

    function solution(people, limit) {
        let answer = 0;
        people.sort((a, b) => a - b);
        while (people.length) {
            if (people.length === 1) {
                answer++;
                people.pop();
            } else {
                if (people[0] + people[people.length - 1] <= limit) {
                    people.shift();
                    people.pop();
                    answer++;
                } else {
                    people.pop();
                    answer++;
                }
            }
        }
        return answer;
    }
    
  • 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges