funcsolution(_bridge_length:Int,_weight:Int,_truck_weights:[Int])->Int{vartrucks=truck_weightsvarbridge=Array(repeating:0,count:bridge_length)varbridgeWeight=0varsec=0while!bridge.isEmpty{// 1초마다 다리위의 트럭 또는 빈공간은 움직임sec+=1bridgeWeight-=bridge.removeFirst()// 대기중인 트럭이 다리에 진입해도 되는지 확인// - 무게를 견딜 수 있으면 트럭 진입// - 아니면 빈공간 진입iflettruck=trucks.first{ifbridgeWeight+truck<=weight{trucks.removeFirst()bridge.append(truck)bridgeWeight+=truck}else{bridge.append(0)}}}returnsec}
Leave a comment