알게 된 내용

  • Tuple로 이루어진 리스트(ex. [(1,2,3), (1,4,6), (1,6,9)] 에서 tuple의 n번째 원소끼리만 더하는 방법:
    • sum(i for i,j,k in tuple_list) : 3
    • sum(j for i,j,k in tuple_list) : 12
    • sum(k for i,j,k in tuple_list) : 18

답안

  • 다리를 지나고 있는 ing_que 를 만들어서 풀이하였음.
import collections 

def solution(bridge_length, weight, truck_weights):
    answer =0 
    truck_que = collections.deque(truck_weights)
    ing_que =collections.deque()
    
    #초기화
    time =1
    ing_que.append((truck_que.popleft(),1)) #1초에 들어왔음.
    while ing_que:
        time +=1
        #다리 지난 것은 q에서 빼주기
        if time - ing_que[0][1] == bridge_length:
            ing_que.popleft()
        
        #무게 여분 남을 경우 트럭 추가로 올림
        if truck_que and sum(i for i,j in ing_que) + truck_que[0] <= weight:
            ing_que.append((truck_que.popleft(),time))

    return time

'sw > 알고리즘' 카테고리의 다른 글

백준 16235 나무 재테크  (0) 2023.01.28
백준 17070 파이프 옮기기1  (0) 2023.01.24
백준 2583 영역구하기  (0) 2022.12.11
백준 1012 유기농배추  (0) 2022.12.11
백준 3986 좋은 단어  (0) 2022.12.07

+ Recent posts