CS/Algorithm 문제

[Programmers] 다리를 지나는 트럭

[Programmers] 다리를 지나는 트럭

 

🎈문제

https://programmers.co.kr/learn/courses/30/lessons/42583

💬설명

  • 처음에 다리 길이 만큼 [0, 0, ... 0] 이렇게 만들어주고 트럭이 올라가고 지나가는 것을 pop과 append로 구현해줬다.
  • 입출력이 순서가 있는 문제이므로 스택/큐 문제!

👩‍💻코드

def solution(bridge_length, weight, truck_weights):
    answer = 0
    bridge = [0 for _ in range(bridge_length)]
    weight_sum = 0
    
    while bridge:
        answer += 1
        weight_sum -= bridge.pop(0)
        # 다음 대기 트럭이 올라갈 수 있는지 무게 체크
        if not truck_weights:
            continue
        if weight_sum + truck_weights[0] <= weight:
            bridge.append(truck_weights[0])
            weight_sum += truck_weights[0]
            truck_weights.pop(0)
        else:
            bridge.append(0)
    return answer

 

728x90
반응형

'CS > Algorithm 문제' 카테고리의 다른 글

[Programmers] 더 맵게  (0) 2021.10.07
[Programmers] 주식가격  (0) 2021.10.07
[Programmers] 프린터  (0) 2021.10.07
[Programmers] 기능개발  (0) 2021.10.07
[Programmers] 베스트앨범  (0) 2021.10.07