문제
bridge_length, weight, truck_weights 3개가 주어진다.
트럭은 1초에 1만큼 움직인다.
트럭의 개수와 상관없이 다리 길이만큼의 시간은 무조건 소요된다.
주의할 점은 현재 다리를 건너는 트럭 무게의 합은 다리가 견딜 수 있는 무게보다 작아야 한다.
+ 다리에 완전히 오르지 않은 트럭의 무게는 무시한다.
코드
def solution(bridge_length, weight, truck_weights):
bridge = [0]*bridge_length
answer=0
while bridge:
answer+=1
bridge.pop(0)
if truck_weights:
if sum(bridge)+truck_weights[0]<=weight:
bridge.append(truck_weights.pop(0))
else:
bridge.append(0)
return answer
다리의 길이만큼 0이 들어있는 bridge라는 리스트를 만든다.
pop과 append를 적절히 활용하여 bridge의 값으로 while문을 돌린다.
if문으로 다리 위의 트럭 무게와 truck_weights 0번 인덱스의 값을 더했을 때 다리의 무게보다 가벼운지 검증한다.
아닐 경우 0을 추가하고 맞을 경우 트럭을 추가한다.
참고 링크 : https://jeonzzang.tistory.com/45
'Programming > Python' 카테고리의 다른 글
[프로그래머스] 힙(Heap) - 더 맵게 (Python3, 파이썬) (0) | 2022.01.30 |
---|---|
[프로그래머스] 스택/큐 - 주식가격 (Python3, 파이썬) (0) | 2022.01.29 |
[프로그래머스] 스택/큐 - 프린터 (Python3, 파이썬) (0) | 2022.01.29 |
[프로그래머스] 스택/큐 - 기능개발 (Python3, 파이썬) (0) | 2022.01.29 |
[프로그래머스] 코딩테스트 연습 - 해시 (Python3, 파이썬) (0) | 2022.01.23 |