Programming

[알고리즘] 프로그래머스 구명보트

jay-dev 2023. 10. 17. 13:56

프로그래머스 문제링크

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

Try / Solution

function solution(people, limit) {
    
    people.sort((a,b) => b-a);
    
    let answer = 0;
    
    let left = 0;
    let right = people.length -1;
    
    while(left < right){
        const sum = people[left] + people[right];
        if(sum > limit){
            left++;
        } else {
            left++;
            right--;
        }
        answer++;
    }
    if(left === right) answer++;
    return answer;
}
  • 사람들을 내림차순으로 정렬
  • 가장 무거운 사람과 가장 가벼운 사람의 무게를 합쳤을 때 보트의 무게제한보다 크다면 무거운 사람만 태우고 작다면 둘다 태움
  • 마지막 한 사람이 남는다면 보트에 태움