[알고리즘] 프로그래머스 - 다리를 지나는 트럭
다른 사람 풀이
def solution(bridge_length, weight, truck_weights):
time = 0
q = [0] * bridge_length
while q:
time += 1
q.pop(0)
if truck_weights:
if sum(q) + truck_weights[0] <= weight:
q.append(truck_weights.pop(0))
else:
q.append(0)
return time
처음에 나는 bridge_length 길이를 가지는 리스트를 만들어놓고, 한번씩 실제로 truck들을 움직이는 시뮬레이션으로 구현했다. 하지만 그렇게하니 답이 1 차이로 맞는 것도 있고 틀리는 것도 있었다.
이 풀이는 q를 이용해서 bridge를 만드는데, 매 턴마다 q.pop(0)를 이용해서 맨 앞에 것을 지워줌으로서 상대적으로 모든 차가 한칸씩 앞으로 간 효과를 낸다. 그리고 들어올 수 있는 차가 있으면 차를 넣어서 길이를 유지하고, 그렇지 않으면 0을 넣어서 길이를 유지한다.
Author And Source
이 문제에 관하여([알고리즘] 프로그래머스 - 다리를 지나는 트럭), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@injoon2019/알고리즘-프로그래머스-다리를-지나는-트럭저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)