최단거리 3

[프로그래머스] 가장 먼 노드 by 파이썬(Python) : 그래프 bfs

https://school.programmers.co.kr/learn/courses/30/lessons/49189 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 난이도 LV 3 문제 설명 n개의 노드가 주어지고 1번 노드로 부터 가장 먼 노드의 갯수를 구해서 Return 해주어야 한다. 이때 가장 멀리 떨어진 노드란 최단 경로로 이동했을 때 간선의 갯수가 가장 많은 노드를 의미한다. 접근법 그래프 이론 알고리즘의 인접 리스트 방식으로 주어진 입력을 변환해준다. 거리(간선 개수)를 저장 해줄 리스트를 만들고 BFS를 사용해 최단 경로의 간선 개수를 센후 저..

[baekjoon] 백준 1916번 : 최소비용 구하기(by python 파이썬) 다익스트라 최단거리

https://www.acmicpc.net/problem/1916 1916번: 최소비용 구하기 첫째 줄에 도시의 개수 N(1 ≤ N ≤ 1,000)이 주어지고 둘째 줄에는 버스의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 그리고 셋째 줄부터 M+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 www.acmicpc.net 정답 code # 최소비용 구하기 import heapq import sys input = sys.stdin.readline INT = int(1e9) def dijkstra(start): q = [] heapq.heappush(q,(0,start)) visit = [INT] * (n+1) visit[start] = 0 while q: dist, node = he..

[baekjoon] 백준 1504번 : 특정한 최단 경로 (by python 파이썬) 다익스트라 최단경로 dijkstra

https://www.acmicpc.net/problem/1504 1504번: 특정한 최단 경로 첫째 줄에 정점의 개수 N과 간선의 개수 E가 주어진다. (2 ≤ N ≤ 800, 0 ≤ E ≤ 200,000) 둘째 줄부터 E개의 줄에 걸쳐서 세 개의 정수 a, b, c가 주어지는데, a번 정점에서 b번 정점까지 양방향 길이 존 www.acmicpc.net 정답 code #특정한 최단 경로 import heapq import sys input = sys.stdin.readline INF = int(1e9) def dijkstra(start): visit = [INF]*(n+1) q = [] heapq.heappush(q,(0,start)) visit[start] = 0 while q: dis, node =..