프로그래머스 #JavaScript - 다리를 지나는 트럭

SSO·2020년 1월 26일
0

프로그래머스 Lv2

목록 보기
3/46

문제

https://programmers.co.kr/learn/courses/30/lessons/42583

풀이

function solution(bridge_length, weight, truck_weights) {
    let answer = 0;
    
    // 변수설정
    let onBridge = [];
    let truckWait = truck_weights;
    let sec = 0; // 시간
    let totalWeight = 0; // 다리 위 무게
    
    // 다리를 queue로 설정 
    for(let i=0; i<bridge_length; i++){
        onBridge.push(0);
    }
  
    //처음 트럭 진입
    let truckNow = truckWait.shift();
    onBridge.shift();
    onBridge.push(truckNow);
    totalWeight = totalWeight + truckNow;
    sec = sec + 1;
       
    //이동시 고려사항 - 시간, 무게
    while(totalWeight) {
      let truckGone = onBridge.shift();
      totalWeight = totalWeight - truckGone;
      truckNow = truck_weights.shift();
      
      if (totalWeight + truckNow <= weight) {
        onBridge.push(truckNow);
        totalWeight = totalWeight + truckNow;
       } else {
           onBridge.push(0);
           truckWait.unshift(truckNow);
        }
         sec = sec + 1;
    }

    answer = sec;
    return answer;
}

더 생각해보기

변수 설정 let // var에 따라서 결과가 달랐음..

참고사항

#큐

profile
happy

0개의 댓글