-
[프로그래머스/javascript] 다리를 지나는 트럭 (좀 더 효율적으로 다시풀기)코딩테스트 2023. 3. 17. 13:13
function solution(bridge_length, weight, truck_weights){ //다리건너는데 필요한 시간 -> bridge_length //즉 트럭하나가 건너려면 최소 bridge_length 시간은 있어야함 let bridgeCrossing = [truck_weights[0]]; let bridgeTimes = [0]; let times = 1; let truckIdx = 1; let plus = false; while(bridgeCrossing.length>0){ times++; bridgeTimes = bridgeTimes.map((el)=>el+1) if(bridgeTimes[0]>=bridge_length){ bridgeCrossing.shift() bridgeTimes.shift() } let bridgeWeights = bridgeCrossing.reduce((prev,cur)=>prev+cur,0) if(truck_weights[truckIdx]&&bridgeWeights+truck_weights[truckIdx]<=weight){ bridgeCrossing.push(truck_weights[truckIdx]) bridgeTimes.push(0) truckIdx++ } } return times }
reduce와 map을 써서 시간복잡도가 높을것같다.
더 효율적인 방법이 있다.!
'코딩테스트' 카테고리의 다른 글
[다시풀기/릿코드/javascript] 102. Binary Tree Level Order Traversal (0) 2023.03.27 [못풀었다/javascript/릿코드] merge two sorted lists (0) 2023.03.24 [프로그래머스/javascript] 2개이하의 다른 비트 (꼭 다시풀기) (0) 2023.03.08 [프로그래머스/javascript] 2Xn 파일링 (0) 2023.03.08 [프로그래머스/javascript] 게임맵 최단거리 (시간나면 다시풀기) (0) 2023.03.07