백준 18352번 python 풀이 - 특정 거리의 도시 찾기
문제 링크 18352번 해결책 import sys sys.setrecursionlimit(10 ** 6) N, M, K, X = map(int, sys.stdin.readline().rstrip().split()) paths = [[] for _ in range(N + 1)] movement = [999999 for _ in range(N + ...
문제 링크 18352번 해결책 import sys sys.setrecursionlimit(10 ** 6) N, M, K, X = map(int, sys.stdin.readline().rstrip().split()) paths = [[] for _ in range(N + 1)] movement = [999999 for _ in range(N + ...
문제 링크 1707번 해결책 import sys sys.setrecursionlimit(100000) def dfs(cur, par): flag = "" if group[par] == 1: group[cur] = -1 flag = -1 else: group[cur] = 1 ...
문제 링크 14888번 해결책 import sys N = int(sys.stdin.readline().rstrip()) nums = list(map(int, sys.stdin.readline().rstrip().split())) operators = list(map(int, sys.stdin.readline().rstrip().split()))...
문제 링크 11725번 해결책 import sys sys.setrecursionlimit(10000) """ def dfs(): stk = [1] cur = 0 tmp = cur while stk: if cur != 0: tmp = cur cur = stk.pop() ...
문제 링크 5639번 해결책 import sys sys.setrecursionlimit(10**6) class Node: def __init__(self, val): self.val = val self.left = None self.right = None class BinarySearchTree...
문제 링크 2606번 해결책 import sys def dfs(start): stk = [start] global cnt while stk: cur = stk.pop() if is_Visited[cur] is False: cnt += 1 is_Visite...
문제 링크 1260번 해결책 import sys def dfs(start): stk = [start] while stk: cur = stk.pop() if is_Visited[cur] is False: print(cur, end=" ") is_Visited[cur] =...
문제 링크 1197번 해결책 import sys def get_Parent(val): if parent_list[val] == val: return val parent_list[val] = get_Parent(parent_list[val]) return parent_list[val] def union_par...
문제 링크 11724번 해결책 import sys def dfs(start): stk = [start] while stk: cur = stk.pop() is_Visited[cur] = True for i in range(len(path[cur]) - 1, -1, -1): ...
정의 DFS, BFS는 탐색에 주로 사용되는 알고리즘이며, 작동 방식에 따라 구분된다. 둘 다 완전탐색에서 사용할 수 있으며, DFS는 재귀 또는 Stack을, BFS는 재귀 또는 힙(큐)를 이용해서 구현할 수 있다. DFS란? DFS(Depth First Search: 깊이 우선 탐색)는 그래프 순회 방식의 일종으로, 하단의 설명할 BFS와 자주 ...