BFS 로직 시작점의 인접한 정점들을 모두 차례로 방문한 후 방문했던 정점을 시작점으로 하여 다시 인접한 정점들을 차례로 방문하는 방식 인접한 정점들을 탐색한 후, 차례로 너비 우선 탐색을 진행해야 하므로, 선입선출 형태의 자료구조인 Queue 활용 Queue를 사용한 알고리즘 설명 visited list 초기화 Q 생성 시작점 A를 Q에 삽입 visited에 A 방문 완료 표시 Q에서 A pop하기 Q에 A 인접 노드 삽입 def BFS(G, v): # 그래프 G, 탐색 시작점 v visited = [0] * n # n: 정점의 개수 queue = [] # queue 생성 queue.appeend(v)# 시작점 v를 큐에 삽입 while queue:# queue가 비어있지 않은 경우에 t = queue..
문제 SWEA 5105 미로의 거리 D3 Python 문제링크 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 나의 코드 Queue를 사용해서 구현했다. 미로와 같은 크기의 이중 배열을 만들고, 탐색하며 그 배열에 거리 값을 저장했다. T = int(input()) # check if the new index is within the grid range, and check if next path is either road or the destination def isCondition(row, col): return 0
풀어도 풀어도 어려운 dfs, bfs.. 이번에 볼 문제는 SWEA 문제해결 기본 미로 I 이다. (예전에 풀었던 기억을 더듬어서 응용 문제로 바로 들어갔다가 다시 기초로 돌아왔다 ㅎㅎㅎ) 문제 SWEA 1126 미로1 D4 Python 문제링크 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 접근 기본적인 DFS 접근으로 풀면 되는 문제다. 시작점(2)을 찾은 후, 상하좌우를 탐색해 나가면서 도착점(3)을 찾으면 1을 리턴, 못 찾을 시는 0을 리턴한다. 코드 dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1] for _ in range(10): answer = 0 n = int(input()..