BFS 4

[프로그래머스] 단어 변환 (Java)

https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  Review이 문제도 마찬가지로 BFS와 DFS로 모두 풀어보고자 했다. 생각보다 꽤 오래 걸려서 며칠 뒤 다시 한 번 풀어봐도 좋을 것 같다.  CodeBFS ver.import java.util.*;class Solution { public int solution(String begin, String target, String[] words) { if(!Arrays.asList(words).contains(target))..

Dev/Programmers 2024.12.17

[프로그래머스] 게임 맵 최단거리 (Java)

https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  IdeaBFS는 가장 처음 찾은 답이 최단 거리를 보장하므로 아래와 같은 코드로 작성했다.  Codeimport java.util.*;class Solution { public int solution(int[][] maps) { int n = maps.length; int m = maps[0].length; return bfs(maps, n, m); } private i..

Dev/Programmers 2024.12.17

[프로그래머스] 네트워크 (Java)

https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  ReviewDFS와 BFS 모두로 풀어보고 싶어서 도전해봤다.  Codeimport java.util.*;class Solution { boolean[] visited; public int solution(int n, int[][] computers) { int answer = 0; visited = new boolean[n]; for (int i = 0; i q ..

Dev/Programmers 2024.12.17

BFS

BFS(너비 우선 탐색, Breadth-First Search) 알고리즘BFS는 그래프 또는 트리에서 너비 우선으로 노드를 탐색하는 알고리즘입니다. BFS는 시작 노드에서 출발하여, 그 노드와 연결된 노드들을 먼저 모두 탐색하고, 그 후에 각 노드에서 연결된 노드를 차례대로 탐색합니다. 이 과정은 큐(Queue) 자료구조를 이용하여 구현합니다.BFS의 주요 특징은 가까운 노드부터 차례대로 탐색하므로, 목표 노드까지의 최단 경로를 찾는 데 유용합니다. BFS 동작 방식:1. 시작 노드를 큐에 넣습니다.2. 큐에서 노드를 하나 꺼내고, 그 노드를 방문합니다.3. 그 노드에 연결된 인접 노드들을 큐에 넣습니다.4. 큐가 비어 있을 때까지 2번과 3번을 반복합니다.5. 모든 노드를 방문할 때까지 탐색을 계속합니..

Dev/Algorithm 2024.11.13