본문 바로가기

깊이우선탐색4

[프로그래머스/파이썬] 네트워크 풀이 ( dfs , 재귀함수, Python ) [프로그래머스 / 파이썬] 네트워크 풀이 ( dfs , 재귀함수, Python )  1. 문제https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 2. 문제 해결 아이디어 (풀이)  1. 반복문으로 모든 노드를 1~n번까지 DFS로 탐색하면서, 하나의 노드 당 연결된 모든 노드를 방문처리한다.* 이때, 방문 처리 배열 'visited'를 만들어서 이용한다.  1.1. 이때 현재 노드와 연결된 모든 노드를 for문으로 반복하여서, 아직 방문하지 않은 노드인지(+ 벽이 아닌 길인지) 확인한 뒤, df.. 2025. 3. 1.
[백준/2468/파이썬] 안전 영역 (Python, dfs) [백준/2468/파이썬] 안전 영역 (Python, dfs) 2468번: 안전 영역 (acmicpc.net) 코드 1 (함수 x) from sys import stdin,setrecursionlimit import copy # 복사 input = stdin.readline # 변수 정의 depth_arr = [] # 입력 깊이 배열 depth_arr2 = [] # 비교할 입력 길이 safe_arr = [] # 안전지대 개수 depth_max = 0 # 최대 깊이 depth = 4 # 입력 N = int(input()) #재귀 깊이 늘리기 setrecursionlimit(N*N+10) # array 추가 for i in range(N): depth_arr.append(list(map(int, input().. 2023. 3. 17.
[백준/24483/파이썬] 알고리즘 수업 - 깊이 우선 탐색 5 (dfs,Python) [백준/24483/파이썬] 알고리즘 수업 - 깊이 우선 탐색 5 (dfs,Python) 24483번: 알고리즘 수업 - 깊이 우선 탐색 5 (acmicpc.net) 코드 from sys import stdin,setrecursionlimit input = stdin.readline N, M, R = map(int, input().split()) # 정점, 간선, 시작라인 setrecursionlimit(N+10) # 방문 순서, 깊이 구하기 visited = [-1] * (N+1) #방문 판단 graph = [[]for _ in range(N+1)] #정점 연결 # -- 입력 및 그래프 연결 -- # for _ in range(M): # 간선의 이어진 개수만큼이기 때문에 u, v = map(int, in.. 2023. 3. 15.
[백준/24479/파이썬(Python)] DFS, 알고리즘수업-깊이우선탐색1 [백준/24479/파이썬(Python)] DFS, 알고리즘수업-깊이우선탐색1 24479번: 알고리즘 수업 - 깊이 우선 탐색 1 (acmicpc.net) 코드 1. pypy from sys import stdin,setrecursionlimit #결과 리스트 result = [0] #입력 N, M, R = map(int, stdin.readline().split()) #방문여부 정점(노드) visited = [False] * (N+1) #0번째도 Flase로 했기 때문 graph = [[]for i in range(N+1)] #2차원만 컴프리핸션 써야함 다 복사돼서 setrecursionlimit(N+10) for i in range(M): #ex) u번노드에 v연결됨 u, v = map(int, std.. 2023. 3. 6.