찌로그
[프로그래머스] level2 다리를 지나는 트럭 2020_05_29 Python3 본문
https://programmers.co.kr/learn/courses/30/lessons/42583
코딩테스트 연습 - 다리를 지나는 트럭
트럭 여러 대가 강을 가로지르는 일 차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 트럭은 1초에 1만큼 움직이며, 다리 길이��
programmers.co.kr
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | class trs(): def __init__(self, etime, val): self.etime = etime self.val = val def arrtime(self, length): return self.etime + length def solution(bridge_length, weight, truck_weights): answer, i,time = 0,1,1 cur =[trs(time,truck_weights[0])] sums = truck_weights[0] # if weight >= sum(truck_weights): # return len(truck_weights) + bridge_length while 1: time += 1 if i == len(truck_weights): answer = cur[len(cur)-1].arrtime(bridge_length) break if sums + truck_weights[i] <= weight: if cur[0].arrtime(bridge_length) <= time: sums -= cur[0].val time = cur[0].arrtime(bridge_length) cur.pop(0) sums += truck_weights[i] cur.append(trs(time,truck_weights[i])) i += 1 else: sums -= cur[0].val time = bridge_length + cur[0].etime cur.pop(0) if sums + truck_weights[i] <= weight: sums += truck_weights[i] cur.append(trs(time,truck_weights[i])) i += 1 # print("time : " ,time, " / " , sums, " i : " , i ) return answer # print(solution(5,5,[2, 2, 2, 2, 1, 1, 1, 1, 1])) | cs |
'Coding' 카테고리의 다른 글
[프로그래머스] 2019 KAKAO BLIND RECRUITMENT 매칭점수 2020_05_30 Python3 (0) | 2020.05.30 |
---|---|
[프로그래머스] level2 쇠막대기 2020_05_29 Python3 (0) | 2020.05.29 |
[프로그래머스] level2 프린터 2020_05_29 Python3 (0) | 2020.05.29 |
[BOJ] 백준 15683번 감시 2020_05_26 C++ (0) | 2020.05.26 |
[BOJ] 백준 14891번 톱니바퀴 2020_05_22 C++ (0) | 2020.05.22 |
Comments