본문 바로가기

DFS7

[프로그래머스/파이썬] 네트워크 풀이 ( 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.
[프로그래머스/파이썬] 타겟 넘버 풀이 (Python, dfs, 재귀함수) [프로그래머스/파이썬] 타겟 넘버 풀이 (Python, dfs, 재귀함수) 1. 문제https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 2. 문제 해결 아이디어 (풀이) * DFS를 실행할 때, 계산의 마지막을 판단하는 방법은 'depth'이다. 1. number 배열의 숫자를 차례대로 계산한다. (depth로 숫자 index 판단)1.1. 이때 각 숫자마다 (+,-)를 한번씩 대입해서 계산한다.- (참고로, 처음부터 -가 붙을 수 있으니, 0에서 값을 더하거나 빼는 방식으로 진행) 2. 끝까지.. 2025. 2. 28.
[프로그래머스/파이썬] 피로도 풀이 (dfs, 백트래킹, 완전탐색) [프로그래머스/파이썬] 피로도 풀이 (dfs, 백트래킹, 완전탐색)  1. 문제https://school.programmers.co.kr/learn/courses/30/lessons/87946 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  2. 사전 개념 2.1. 백트래킹(Backtracking)가능한 모든 경우의 수를 탐색하면서 조건을 만족하는 경우만을 채택하는 방법이다.조건을 만족하지 않으면 그 경로를 더 이상 탐색하지 않고 되돌아간다.이 과정에서 '가지치기'를 수행하여 비효율 적인 탐색을 방지하는 것.참고 :https://chanhuiseok.github.io/posts/algo-23/ 2.2... 2025. 2. 27.
[백준/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.