코딩테스트/Python 12

[백준]2178번 미로탐색 (Python/파이썬) - BFS 코테 문제

너비 우선 탐색 Breadth-First Search (BFS)1) BFS의 개념BFS는 같은 level의 노드에서 최대한 넒게(옆으로) 이동한 다음, 더 이상 갈 수 있는 노드가 없을 때 다음 level로 넘어가는 탐색 알고리즘입니다. BFS는 맹목적 탐색(blind search)의 한 종류로, 시작 노드에서 인접한 모든 노드를 우선 방문합니다. 그림의 a에서 시작해, 인접 노드인 b, c를 방문하고 → b의 인접 노드인 d, e를 방문하는 식으로 탐색이 진행됩니다.맹목적 탐색이란, 이미 정해진 순서에 따라 그래프를 점차 형성해 가며 solution을 탐색하는 방법을 의미합니다.탐색의 순서가 이미 정해져 있어 문제에 대한 정보를 고려하지 않고 진행 가능하다는 특징이 있으며,문제 정보를 ..

[백준]1260번 DFS와 BFS (Python/파이썬) - 런타임 에러(KeyError) 해결

문제그래프를 DFS로 탐색한 결과와 BFS로 탐색한 결과를 출력하는 프로그램을 작성하시오. 단, 방문할 수 있는 정점이 여러 개인 경우에는 정점 번호가 작은 것을 먼저 방문하고, 더 이상 방문할 수 있는 점이 없는 경우 종료한다. 정점 번호는 1번부터 N번까지이다. 입력첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사이에 여러 개의 간선이 있을 수 있다. 입력으로 주어지는 간선은 양방향이다.출력첫째 줄에 DFS를 수행한 결과를, 그 다음 줄에는 BFS를 수행한 결과를 출력한다. V부터 방문된 점을 순서대로 출력하면 된다..