[JS] 프로그래머스 - 구명보트

eunji·2022년 10월 11일
0

알고리즘

목록 보기
1/10

function solution(people, limit) {
    var answer = 0;
    let leftIndex=0;
    let rightIndex=people.length-1;
    people.sort((a,b)=>a-b);
   
    
    while(leftIndex<=rightIndex){
        if(people.length===1){
            rightIndex--;
        }else{
            if((people[leftIndex]+people[rightIndex])<=limit){
                leftIndex++;
                rightIndex--;
            }else{
                rightIndex--;
            }
        }
        answer++;
    }

    return answer;
}

놓쳤던 부분

  • 처음부터 shift를 사용하면 효율성이 떨어진다는 것은 인지하고 있었다.
    그렇기 때문에 최대한 그 횟수를 줄여보고자 오름차순 정렬을 하여 pop 메소드를 사용하였다.

그 결과

해결

배열의 원소를 빼지 않고 index의 크기를 조절함으로서 효율성테스트를 통과할 수 있었다.

profile
프롱이

0개의 댓글