-
[프로그래머스] 다리를 지나는 트럭Algorithm/Programmers 2020. 8. 20. 21:51
https://programmers.co.kr/learn/courses/30/lessons/42583
코딩테스트 연습 - 다리를 지나는 트럭
트럭 여러 대가 강을 가로지르는 일 차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 트럭은 1초에 1만큼 움직이며, 다리 길이��
programmers.co.kr
풀이과정
다리의 무게가 정해져 있는 상황에서 모든 트럭이 지나간 후의 시간을 구하는 문제이다.
1. 이동 중인 트럭이 있다면 1초에 1칸씩 더해주었다.
2. 도착한 트럭이 있다면, filter를 이용하여 제외시켰다. 현재 다리를 지나는 트럭의 총 무게에서 제외된 트럭의 무게를 빼야한다
3. 다음 트럭이 다리로 가도 되는지 무게로 판단하여 기다릴지, 이동 할 지 결정하면 된다.
소스코드
더보기function solution(bridge_length, weight, truck_weights) { var answer = 0; var curWeight = 0; var curMovingCar = []; while(truck_weights.length != 0 || curMovingCar.length != 0) { answer++; //현재 다리 위의 트럭 if (curMovingCar.length != 0) { //한칸 이동 for (var i = 0; i < curMovingCar.length; i++) { curMovingCar[i].length++; } //도착한 트럭은 빼기 curMovingCar = curMovingCar.filter(c => { if(c.length < bridge_length) return true; else { curWeight -= c.weight; return false; } }); } //새로운 트럭 다리에 올리기 var curTruck = truck_weights[0]; if (curWeight + curTruck <= weight) { truck_weights.shift(); var truck_info = { length : 0, weight : curTruck }; curWeight += curTruck; curMovingCar.push(truck_info); } } return answer; }
'Algorithm > Programmers' 카테고리의 다른 글
[프로그래머스] 조이스틱 (0) 2020.08.22 [프로그래머스] 타겟 넘버 (0) 2020.08.20 [프로그래머스] 스킬트리 (0) 2020.08.19 [프로그래머스] 정수 삼각형 (0) 2020.07.29 [프로그래머스][2019 카카오 개발자 겨울 인턴십] 크레인 인형뽑기 게임 (0) 2020.07.25