테스트 1 | |
입력값 〉 | 2, 10, [7, 4, 5, 6] |
기댓값 〉 | 8 |
실행 결과 〉 | 테스트를 통과하였습니다. |
출력 〉 | deque([0, 0]) deque([7, 4, 5, 6]) ans 1 cur:0 - b.popleft():0 cur 0 bridge deque([0]) truck in if deque([7, 4, 5, 6]) total_weight 7 poped truck value 7 bridge in if2 deque([0, 7]) update cur 7 ans 2 cur:7 - b.popleft():0 cur 7 bridge deque([7]) truck in if deque([4, 5, 6]) total_weight 11 ans 3 cur:7 - b.popleft():7 cur 0 bridge deque([0]) truck in if deque([4, 5, 6]) total_weight 4 poped truck value 4 bridge in if2 deque([0, 4]) update cur 4 ans 4 cur:4 - b.popleft():0 cur 4 bridge deque([4]) truck in if deque([5, 6]) total_weight 9 poped truck value 5 bridge in if2 deque([4, 5]) update cur 9 ans 5 cur:9 - b.popleft():4 cur 5 bridge deque([5]) truck in if deque([6]) total_weight 11 ans 6 cur:5 - b.popleft():5 cur 0 bridge deque([0]) truck in if deque([6]) total_weight 6 poped truck value 6 bridge in if2 deque([0, 6]) update cur 6 ans 7 cur:6 - b.popleft():0 cur 6 bridge deque([6]) ans 8 cur:6 - b.popleft():6 cur 0 bridge deque([]) |
테스트 디버깅
from collections import deque
def solution(bridge_length, weight, truck_weights):
bridge = deque([0] * bridge_length)
truck = deque(truck_weights)
print(bridge, truck)
answer = 0
cur = 0
while bridge:
answer += 1
print('ans', answer)
value_b = bridge.popleft()
print(f'cur:{cur} - b.popleft():{value_b}')
cur -= value_b
print('cur', cur)
print("bridge", bridge)
if truck:
print('truck in if', truck)
print('total_weight', cur + truck[0] )
if cur + truck[0] <= weight:
t = truck.popleft()
print('poped truck value', t)
bridge.append(t)
print('bridge in if2', bridge)
cur += t
print('update cur', cur)
else:
bridge.append(0)
return answer
'알고리즘 > Programmers' 카테고리의 다른 글
[프로그래머스] 2021 Dev-Matching: 웹 백엔드 개발자(상반기) | 로또의 최고 순위와 최저 순위(python) (0) | 2024.12.05 |
---|---|
[프로그래머스] 2018 KAKAO BLIND RECRUITMENT[1차] | 비밀지도 (python) (0) | 2024.12.04 |
[프로그래머스] [PCCP 기출문제] 1번 / 동영상 재생기 (python) (0) | 2024.12.04 |
[프로그래머스] 내적 (python) (0) | 2024.12.04 |
[프로그래머스] 같은 숫자는 싫어 (python) (1) | 2024.12.04 |