[TIL] <2020.05.26> 다리를 지나는 트럭 JS

이성진·2020년 5월 26일
0

TIL

목록 보기
4/9

꼬박 2틀에 걸려 푼 문제입니다.

처음에는 다리를 건넌 트럭을 모으는 브릿지를 배열로 만들어서 풀려고 하니까 테스트 케이스는 다 맞았는데 제출하니까 한 두개 빼고는 다 틀리더라고요.

이번 문제는 테스트 케이스 자체가 다른 문제보다 어려웠기 때문에 좀 더 꼬인 느낌이네요.

function solution(bridge_length, weight, truck_weights) {
  let answer = 0, sumOfWeight = 0;
  const crossingTruck = [];

  for (let i = 0; i < bridge_length; i++) crossingTruck.push(0);

  let nowTruck = truck_weights.shift();

  crossingTruck.push(nowTruck);
  crossingTruck.shift();
  sumOfWeight += nowTruck;
  answer++;

  while (sumOfWeight) {
    sumOfWeight -= crossingTruck.shift();
    nowTruck = truck_weights.shift(); // 대기 트럭 빼기

    if (sumOfWeight + nowTruck <= weight) { // 지나감
      crossingTruck.push(nowTruck);
      sumOfWeight += nowTruck;
    } else { // 못 지나감
      crossingTruck.push(0);
      truck_weights.unshift(nowTruck);
    }
    answer++;
  }
  return answer;
}

아직 제 실력이 많이 부족하다는 것을 느꼈습니다.

알고리즘을 풀 때 내 생각과는 전혀 다른 문제들도 많이 있었고요 ㅠ..ㅠ

profile
개발보다 회사 매출에 영향력을 주는 개발자

0개의 댓글