강의로 돌아가기
임종수

보트인원이 2명 제한있다는걸 못보고 코딩하였습니다. 잘못된 부분좀 알려주세요.

limit을 넘지 않으면 보트에 여러명이 탈 수 있다는 조건하에 프로그래밍하였습니다.

소스상 문제가 될 것 같지 않은데

코드 채점 시 정확성 테스트 케이스 중 반정도가 실패합니다.

시간초과는 아닙니다.

도저히 모르겠어서.. 원인좀 분석 부탁드립니다.

자바스크립트입니다.

function solution(people, limit) {
    var answer = 0;

    var boat = [];
    people.sort();
    for(var i=people.length-1; i>=0;i--){
        var weight = people[i];
        var idx = -1;
        for(var j=0; j<boat.length;j++){
            if(weight + boat[j] <= limit){
                idx = j;
                break;
            }
        }
        if(idx != -1){
            boat[idx] = boat[idx] + weight;
            for(var j=idx; j>0;j--){
                if(boat[j] > boat[j-1]){
                    var tmp = boat[j];
                    boat[j] = boat[j-1];
                    boat[j-1] = tmp;
                }
            }
        }else{
            boat.push(weight);
        }
    }
    return boat.length;
}
0 개의 답변
답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.