programmers 2

최단거리 - DFS/BFS

📌 DFS, BFS 사용예제[ DFS ]경로의 특징을 저장해둬야 하는 문제 ex. 각 정점에 숫자가 적혀있고 a부터 b까지 가는 경로를 구하는데 경로에 같은 숫자가 있으면 안 되는 조건 등(BFS는 경로의 특징을 가지지 못함)[ BFS ]최단거리를 구하는 문제ex. 문제미로 찾기 → DFS는 모든 경로를 탐색해야되지만, BFS는 탐색 시 먼저 찾아지는 해답이 곧 최단거리이기 때문 (=최단 거리를 찾자마자 종료할 수 있음)   💡게임 맵 최단 거리(Lv.2)  📌 과정 : 현재 방문 좌표 / 다음 이동 좌표 (큐에 추가) / 큐 상태 (FIFO)1(0,0)(1,0)[(1,0)]2(1,0)(2,0)[(2,0)]3(2,0)(3,0)[(3,0)]4(3,0)(3,1)[(3,1)]5(3,1)(3,2)[(3,2..

[알고리즘, Python] 프로그래머스 고득점 Kit - DFS/BFS

그래프 기본 설명노드(Node)와 간선(Edge)로 표현되며, 이 노드를 정점(Vertex)라고 말함그래프 탐색이란 하나의 노드를 시작으로, 다수의 노드를 방문하는 것두 노드가 간선으로 연결되어 있다면, 두 노드는 인접하다(Adjacent)고 표현그래프와 트리의 차이: 그래프 중에서 방향성이 있는 비순환 그래프 = 트리그래프 표현 방법인접행렬: 2차원 배열로 그래프의 연결 관계를 표현인접리스트: 리스트로 그래프의 연결 관계를 표현# 인접행렬INF = 99999999matrix = [ [0, 7, 5], [7, 0, INF], [5, INF, 0]]print(matrix)===> [[0, 7, 5], [7, 0, 99999999], [5, 99999999, 0]# 인접리스트list = [[] f..