[TIL] 알고리즘 BFS & DFS 정리
·
알고리즘
알고리즘 문제를 풀다 보면 격자, 네트워크, 지도, 트리 등 연결 구조를 다루는 경우가 많습니다.이때 필요한 것이 바로 DFS(깊이 우선 탐색)과 BFS(너비 우선 탐색)입니다.1. DFS (Depth-First Search, 깊이 우선 탐색)출발점에서 한 방향을 정하면 끝까지 깊게 들어간 뒤, 더 이상 갈 수 없을 때 다시 되돌아와서 다른 경로를 탐색하는 방식입니다.재귀 함수나 스택(Stack)으로 구현할 수 있습니다. ex) 미로에 들어간 쥐가 한쪽 길을 끝까지 파고 들어갔다가 막히면 다시 돌아와서 다른 길을 찾는 것과 같습니다. - 장점 : 구현이 간단하고 코드가 짧음- 단점 : 재귀 호출로 인해 입력 크기가 크면 스택 오버플로우 위험- 적합한 문제 : 모든 경우를 따져야 하는 문제, 영역 탐색 문..
알고리즘 문제 풀이 - BFS
·
알고리즘
BOJ 25418번 정수 a를 k로 만들기https://www.acmicpc.net/problem/25418  접근 방법  풀이 코드import java.util.LinkedList;import java.util.Queue;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int A = sc.nextInt(); int K = sc.nextInt(); Queue q = new LinkedList(); boolean[] visited = new boolean[..