BFS3 [프로그래머스]단어 변환 / 자바 (BFS/DFS 맛꿀마 문제) https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이 문제는 DFS와 BFS 모두 풀이가 가능한 문제입니다. 먼저 문제의 요구사항을 살펴보면, 문자열 begin으로부터 문자열 target까지의 변환에 필요한 최소 변환 횟수를 구하는 것이 목표입니다. 단, 변환 조건은 한 번에 한 개의 알파벳만 변환이 가능하다는 겁니다. 즉, A에서 B로의 변환이 가능한 경우는 A와 B를 비교했을 때 한 글자를 제외하고 나머지 글자가 모두 같은 경우라고 생각할 수.. 2024. 3. 23. [백준] 4963. 섬의 개수 / Java https://www.acmicpc.net/problem/4963 4963번: 섬의 개수 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 지도의 너비 w와 높이 h가 주어진다. w와 h는 50보다 작거나 같은 양의 정수이다. 둘째 줄부터 h개 줄에는 지도 www.acmicpc.net 문제 풀이 일반적인 BFS 탐색문제의 흐름대로 풀 수 있는 문제였지만, 하나 특이한 점이라면 대각선 위치로도 이동할 수 있다는 조건이 있다는 점이었다. 추가적인 설명은 소스코드의 주석으로 이어진다. 소스 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import jav.. 2023. 5. 29. [백준] 14502 연구소 / java https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 문제 풀이 이 문제는 BFS 카테고리의 문제 목록에서 발견했지만 실상은 BFS와 DFS를 복합적으로 사용해야 하는 문제였다. 각각이 사용되는 부분은 아래와 같다. DFS: 벽을 3개 세우는 경우의 수 탐색 BFS: 위 DFS에서 찾은 각 경우에 대해 바이러스를 퍼뜨리는 과정 탐색 다시 말해, DFS로 BFS를 할 케이스를 골라내는 것이다. 더불어 유의할 점으로 Deep Copy와 Swallow Copy의 차이.. 2023. 5. 29. 이전 1 다음