본문 바로가기

dijkstra4

#7 Python 코딩테스트 최단 경로 알고리즘 https://www.youtube.com/watch?v=acqm9mM1P6o&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=7 이 포스팅은 위의 영상을 보고 제가 필요하다고 생각된 부분을 정리한 포스팅입니다. 다익스트라 알고리즘 특정한 노드에서 출발하여 다른 모든 노드로 가는 최단 경로를 계산 - 음의 간선이 없을 때 정상적으로 동작. - 그리디 알고리즘에 속함. 다익스트라 알고리즘 간단한 구현 방법 import sys input = sys.stdin.readline INF = int(ie9) # 무한을 의미하는 값으로 10억을 설정 n, m = map(int, input().split()) start = int(input()) # 각 노드에 연결되어 있는 노드에 대.. 2021. 11. 17.
[프로그래머스] 합승 택시 요금 (Python) https://programmers.co.kr/learn/courses/30/lessons/72413 코딩테스트 연습 - 합승 택시 요금 6 4 6 2 [[4, 1, 10], [3, 5, 24], [5, 6, 2], [3, 1, 41], [5, 1, 24], [4, 6, 50], [2, 4, 66], [2, 3, 22], [1, 6, 25]] 82 7 3 4 1 [[5, 7, 9], [4, 6, 4], [3, 6, 1], [3, 2, 3], [2, 1, 6]] 14 6 4 5 6 [[2,6,6], [6,3,7], [4,6,7], [6,5,11], [2,5,12], [5,3,20], [2,4 programmers.co.kr 매 지점까지 같이 합승했다고 치고 그 지점에서 각자 목적지로 이동했을 경우에서 요금.. 2021. 11. 10.
[프로그래머스] 가장 먼 노드 (Python) https://programmers.co.kr/learn/courses/30/lessons/49189 코딩테스트 연습 - 가장 먼 노드 6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3 programmers.co.kr 다익스트라 알고리즘으로 구현해서 풀면 된다. 무방향 그래프이기 때문에 양쪽 방향으로 이동 가능한 것을 설정해줘야 함. 나의 풀이 from collections import deque def solution(n,vertex): graph = [[] for _ in range(n+1)] visited = [0 for _ in range(n+1)] for ver in vertex: graph[ver[0]].append(ver[1]) gr.. 2021. 11. 8.
[프로그래머스] 배달 (Python) https://programmers.co.kr/learn/courses/30/lessons/12978 코딩테스트 연습 - 배달 5 [[1,2,1],[2,3,3],[5,2,2],[1,4,2],[5,3,1],[5,4,2]] 3 4 6 [[1,2,1],[1,3,2],[2,3,2],[3,4,3],[3,5,2],[3,5,3],[5,6,1]] 4 4 programmers.co.kr 다익스트라 알고리즘으로 풀이했다. 주의할 점은 방향성이 없는 간선이므로 도로 정보를 받았을 때 양쪽 마을에 다 추가를 시켜줘야 하고, 간선의 최대 길이는 10,000이지만 배달 시간은 500,000 이하인 것을 주의해서 문제를 풀어야 한다. 나의 풀이 import heapq def solution(N, road, K): answer = .. 2021. 11. 1.