취준생의 코딩테스트 연습기

[프로그래머스] 다리를 지나는 트럭 / 파이썬(python) 본문

코딩테스트/프로그래머스

[프로그래머스] 다리를 지나는 트럭 / 파이썬(python)

Jiwon_C 2021. 5. 28. 21:09

# 문제 링크

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

 

코딩테스트 연습 - 다리를 지나는 트럭

트럭 여러 대가 강을 가로지르는 일 차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 트럭은 1초에 1만큼 움직이며, 다리 길이

programmers.co.kr

# Soultion

스택을 이용하여 초마다 한개씩 제거하면서 계산하였다

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def solution(bridge_length, weight, truck_weights):
    answer = 0
  
    q = [0]*bridge_length
    
    while(q):
        answer+=1
        q.pop(0)
        if truck_weights:
            if sum(q)+truck_weights[0]>weight:
                q.append(0)
            else:
                q.append(truck_weights.pop(0))
                
    return answer
cs
 

4. 다리길이만큼의 크기를 가진 리스트 초기화

6. 다리위에 남은 트럭이 없을때까지 진행

8. 제일 끝에 저장된(리스트로는 0번째) 데이터 제거

9. 남은 트럭이 있는 경우에 진행

10. 다리에 올라가있는 트럭의 무게+올라갈 트럭의 무게가 견딜 수 있는 무게보다 크다면

11. 트럭이 올라갈 수 없으므로 0대입

13. 리스트의 마지막에 올라갈 트럭 무게 추가

Comments