[백준/파이썬] 13335번

민정·2023년 12월 31일
0

[백준/파이썬]

목록 보기
212/245
post-thumbnail

📍백준 13335번 문제

https://www.acmicpc.net/problem/13335

코드

import sys
from collections import deque
input = sys.stdin.readline
n, w, l = map(int, input().split())
car = deque(list(map(int, input().split())))

bridge = deque([0] * w)
cnt = 0
while bridge:
    cnt += 1
    bridge.popleft()
    if car:
        if sum(bridge) + car[0] <= l:
            bridge.append(car.popleft())
        else:
            bridge.append(0)
print(cnt)

풀이

  • 다리 길이만큼의 배열을 하나 만들어준다. (bridge)
  • 1초가 지났으므로 다리.popleft()를 하여 값을 빼준다. (도착했으므로)
  • 만약 (현재 다리에 있는 차의 무게 + 현재 대기중인 첫번째 차의 무게)가 다리가 견딜 수 있는 무게라면, 다리에 첫번째 차의 무게를 더해준다.
  • 견딜 수 없는 무게라면, 0을 더해준다.
profile
パㅔバ6ㅇr 덤벼ㄹΓ :-0

0개의 댓글