본문 바로가기
Problem Solving/리트코드

[리트코드 leetcode] 787. Cheapest Flights Within K Stops

by ggyongi 2021. 4. 12.
반응형

leetcode.com/problems/cheapest-flights-within-k-stops/

 

Cheapest Flights Within K Stops - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

class Solution:
    def findCheapestPrice(self, n: int, flights: List[List[int]], src: int, dst: int, K: int) -> int:
        
        graph = collections.defaultdict(list)
        
        for u,v,w in flights:
            graph[u].append([v,w])
          
        # stops, cost
        result = []
        
        # cost, node, stops
        Q = [[0,src,-1]]
        
        while Q:
            cost, node, stops = heapq.heappop(Q)
            if node == dst :
                return cost
            if stops < K:
                for v,w in graph[node]:
                    alt = cost + w
                    heapq.heappush(Q, [alt,v,stops+1])
                    
        return -1
 

비전공자 네카라 신입 취업 노하우

시행착오 끝에 얻어낸 취업 노하우가 모두 담긴 전자책!

kmong.com

댓글