Skip to content

Commit 5244ca4

Browse files
committed
[level 2] Title: 다리를 지나는 트럭, Time: 19.95 ms, Memory: 94.8 MB -BaekjoonHub
1 parent c083c31 commit 5244ca4

2 files changed

Lines changed: 19 additions & 16 deletions

File tree

프로그래머스/2/42583. 다리를 지나는 트럭/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
# [level 2] 다리를 지나는 트럭 - 42583
22

3-
[문제 링크](https://school.programmers.co.kr/learn/courses/30/lessons/42583?language=java)
3+
[문제 링크](https://school.programmers.co.kr/learn/courses/30/lessons/42583)
44

55
### 성능 요약
66

7-
메모리: 83.3 MB, 시간: 21.65 ms
7+
메모리: 94.8 MB, 시간: 19.95 ms
88

99
### 구분
1010

@@ -16,7 +16,7 @@
1616

1717
### 제출 일자
1818

19-
2026년 02월 06일 23:54:45
19+
2026년 02월 09일 13:11:47
2020

2121
### 문제 설명
2222

프로그래머스/2/42583. 다리를 지나는 트럭/다리를 지나는 트럭.java

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,38 +3,41 @@
33
class Solution {
44

55
public int solution(int bridge_length, int weight, int[] truck_weights) {
6-
int answer = 0;
76

8-
Queue<Integer> bridges = new LinkedList<>();
7+
// 다리 만들기
8+
Queue<Integer> bridge = new LinkedList<Integer>();
99
for(int i = 0; i < bridge_length; i++) {
10-
bridges.add(0);
10+
bridge.add(0);
1111
}
1212

1313
int time = 0;
1414
int currentWeight = 0;
15-
//몇번째 트럭까지 보냈는지
15+
// 현재까지 몇 개의 트럭이 지나갔는지 표시
1616
int idx = 0;
1717

18-
//보낼 트럭이 남아있거나, 아직 트럭이 다 내리지 못한 경우
18+
// 지나갈 트럭이 있거나, 다리 위에 트럭이 있는 동안
1919
while(idx < truck_weights.length || currentWeight > 0) {
20+
// 시간이 지나고
2021
time++;
2122

22-
// 트럭이 끝에 도달했으면 내림 -> 큐의 마지막을 그냥 꺼내버림
23-
int out = bridges.poll();
23+
// 다리 맨 끝 확인
24+
int out = bridge.poll();
2425
currentWeight -= out;
2526

26-
// 다음트럭이 올라올 수 있는 지 확인
27-
if(idx < truck_weights.length) {
27+
//다리 첫 번째 확인
28+
if(idx < truck_weights.length) {
29+
// 새로운 트럭이 다리위에 올라감
2830
if(currentWeight + truck_weights[idx] <= weight) {
29-
bridges.add(truck_weights[idx]);
3031
currentWeight += truck_weights[idx];
32+
bridge.add(truck_weights[idx]);
3133
idx++;
3234
} else {
33-
bridges.add(0);
35+
bridge.add(0);
3436
}
3537
}
3638
}
3739

38-
return time;
39-
}
40+
41+
return time;
42+
}
4043
}

0 commit comments

Comments
 (0)