Closed Jewan1120 closed 1 month ago
🤔 시간복잡도 고려사항
💡 풀이 아이디어
🤔 시간복잡도 고려사항
💡 풀이 아이디어
큐
를 이용트럭과 트럭 사이에 빈 공간
을 삽입
🤔 시간복잡도 고려사항
💡 풀이 아이디어
현재 시간 - 트럭이 다리에 진입한 시간
트럭 무게
,다리 진입 시점
)으로 삽입복잡하게 생각하지 말기
🤔 시간복잡도 고려사항
O(N logN)
이하 사용해야한다는 것을 알았습니다. O(n* m)
사용 가능 💡 풀이 아이디어
weightBridge -= bridge.poll();
weightBridge += trucks.peek();
bridge.add(trucks.poll());
bridge.add(0);
시간 복잡도 대충 생각하지 말기
Queue 2개
(트럭, 다리) 사용 생각을 못했습니다 Queue 원소 추가 시 고정 관념에 사로 잡히지 말기bridge.add(trucks.poll());
🤔 시간복잡도 고려사항
💡 풀이 아이디어
Truck
클래스: 트럭의 무게, 위치 저장Queue
: 다리에 지나가는 트럭 순서대로 무게 저장 LinkedList<Truck> tunnel
: 현재 다리에 있는 트럭들의 정보 저장int tunnelWeight
: 터널에 있는 트럭들의 총 무게while(true)
tunnel.isEmpty() == true
tunnel.get(0).트럭의 위치
🤔 시간복잡도 고려사항
Queue
O(n^3)
까지 가능💡 풀이 아이디어
한번의 반복을 했을 때 일어날 수 있는 모든 과정을 순서에 맞게 잘 작성 해야함
각 트럭별로 다리의 길이 만큼 이동하는 배열
생성 (ex. 트럭4개, 다리길이 2 -> [2,2,2,2])
동시에 다리에서 트럭이 내려가고 올라가는 순간이나, 여러 트럭이 동시에 다리에 있을 때 시간초 계산하는 부분이 어려워서 과정을 정리하는게 너무 어려웠어요...😭