너비 우선 탐색2 [Algorithm] BAEKJOON 10026번. 적록색약 (python) [ 백준 10026번. 적록색약 ] 문제명 : 적록색약 사용 언어 : python3 알고리즘 : BFS(너비 우선 탐색) 문제 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록), B(파랑) 중 하나를 색칠한 그림이 있다. 그림은 몇 개의 구역으로 나뉘어 있는데, 구역은 같은 색으로 이루어져 있다. 또, 같은 색상이 상하좌우로 인접해 있는 경우에 두 글자는 같은 구역에 속한다. (색상의 차이를 거의 느끼지 못하는 경우도 같은 색상이라 한다) 알고리즘 및 코드 : 적록색약이 아닌 사람의 경우를 먼저 체크하고, 적록색약인 사람은 'R'을 'G'로 바꿔주고 G/B.. Algorithm 2024. 1. 26. [Algorithm] 깊이/너비 우선 탐색 (DFS/BFS) DFS (Depth First Search) : 깊이 우선 탐색 ▽ DFS 알고리즘 (코드블럭을 한글로 표현) 시작 노드를 옅은 회색 표시 후, 스택에 넣음 스택에 아무 노드가 없을 때까지: 스택 가장 위 노드를 꺼낸다 노드를 방문 (진한 회색) 표시한다 인접한 노드들을 모두 보면서: 처음 방문하거나 스택에 없는 노드면: 옅은 회색 표시를 해준다 스택에 넣어준다 ▽ DFS로 연결된 역 찾기 from collections import deque def dfs(graph, start_node): """dfs 함수""" stack = deque() # 빈 스택 생성 # 모든 노드를 처음 보는 노드로 초기화 for station_node in graph.values(): station_node.visited =.. Algorithm 2024. 1. 12. 이전 1 다음 728x90