-
[Python]백준 13335번/트럭/queuealgorithm/문제 2023. 3. 29. 11:45반응형
https://www.acmicpc.net/problem/13335
⚡️ 문제 설명
다리의 길이와 다리의 최대하중, 그리고 다리를 건너려는 트럭들의 무게가 순서대로 주어졌을 때, 모든 트럭이 다리를 건너는 최단시간을 구하는 프로그램
⚡️ 해결 방법
bridge에 모든 트럭이 지나갈 때 까지 ( while bridge) 반복한다.
기다리고 있는 truck 이 있다면
현재 bridge 위에 있는 트럭의 무게 합 sum(bridge) 과 기다리고 있는 첫번째 트럭 truck[0] 의 합이 다리의 최대 하중 L 보다 작다면 bridge 에 트럭을 추가한다.
최대 하중 L 보다 크다면 bridge 에 0을 추가한다.
이를 반복하다가 모든 트거이 다 지나가게 되면 time 을 출력한다.
⚡️ 코드
import sys input=sys.stdin.readline # n : 트럭 수 # w : 다리 길이 # L : 다리 최대 하중 n, w, L = map(int, input().split()) truck = list(map(int, input().split())) bridge = [0] * w time = 0 # bridge에 모든 트럭이 지나갈 때 까지 반복 while bridge: time += 1 bridge.pop(0) if truck: if sum(bridge) + truck[0] <= L: bridge.append(truck.pop(0)) else: bridge.append(0) print(time)
반응형'algorithm > 문제' 카테고리의 다른 글
[Python]프로그래머스 N으로 표현/dp (0) 2023.04.28 [Python]백준 9663번/N-Queen/백트래킹 (0) 2023.03.31 [Python]백준 11441/합 구하기 / 누적합 (0) 2022.03.14 [Python]백준 11053/가장 긴 증가하는 부분 수열/LIS/dp (0) 2022.03.13 [Python]백준 14502/연구소 / 조합 / 배열 복사 copy (0) 2022.03.12