[BaekJoon] 5427번 - 불 [Java][C++]
문제 링크 1. 문제 풀이 최단 거리 BFS를 활용하면 해결할 수 있는 문제로 BFS로 상근이를 이동시키면서 동시에 불도 이동을 시켜주는 방식으로 해결했다. 불이 붙으려는 칸으로도 이동할 수 없으므로 불을 먼저 이동시키고 상근이를 이동시켜줬다. 2. 코드 1. 풀이 [Java] import java.io.*; import jav...
문제 링크 1. 문제 풀이 최단 거리 BFS를 활용하면 해결할 수 있는 문제로 BFS로 상근이를 이동시키면서 동시에 불도 이동을 시켜주는 방식으로 해결했다. 불이 붙으려는 칸으로도 이동할 수 없으므로 불을 먼저 이동시키고 상근이를 이동시켜줬다. 2. 코드 1. 풀이 [Java] import java.io.*; import jav...
문제 링크 1. 문제 풀이 최단 거리 BFS를 활용하면 해결할 수 있는 문제로 $S$ 층부터 $U$ 층 위로 가거나 $D$ 층 아래로 가는 과정을 반복하면 된다. 이때 건물의 최소 높이보다 낮은 층이나 최대 높이보다 높은 층을 가지 않도록 주의해야 한다. 2. 코드 1. 풀이 [Java] import java.io.*; impo...
문제 링크 1. 문제 풀이 최단 거리 BFS를 활용하면 해결할 수 있는 문제로 BFS로 지훈이를 이동시키면서 동시에 불도 이동을 시켜주는 방식으로 해결했다. 불이 붙으려는 칸으로도 이동할 수 없으므로 불을 먼저 이동시키고 지훈이를 이동시켜줬다. 2. 코드 1. 풀이 [Java] import java.io.*; import jav...
문제 링크 1. 문제 풀이 촌수계산은 사람을 노드, 거리를 길이가 $1$ 인 간선으로 치환한 그래프에서 두 노드간 최단거리를 구하는 것과 동일하다. BFS를 활용해서 촌수를 구해주면 된다. 2. 코드 1. 풀이 [Java] import java.io.*; import java.util.*; public class Main { ...
문제 링크 1. 문제 풀이 정수 $A$ 를 $B$ 로 바꾸는 문제로 최단 거리 BFS를 활용해서 $A$ 또는 $B$ 에 각 연산을 적용해보며 수가 나오는지 판단하는 방식으로 풀 수도 있고, 그리디 알고리즘을 활용하여 $B$ 를 $A$ 가 되는지 판단하는 방식으로도 해결할 수 있다. $B$ 가 현재 짝수일 경우는 이전 수가 첫 번째 연산을 ...
문제 링크 1. 문제 풀이 $N$ 개의 자연수 중 길이가 $M$ 인 중복 조합을 모두 구하는 문제로 재귀를 활용해서 구하면 된다. 이때 중복되는 중복 조합은 출력하지 않아야 하는데 이는 prev 변수에 최근에 담은 수를 저장하고 반복문 내에서 동일한 수면 넘어가주면 된다. 2. 코드 1. 풀이 [Java] import java....
문제 링크 1. 문제 풀이 $N$ 개의 자연수 중 길이가 $M$ 인 중복 순열을 모두 구하는 문제로 재귀를 활용해서 구하면 된다. 이때 중복되는 중복 순열은 출력하지 않아야 하는데 이는 prev 변수에 최근에 담은 수를 저장하고 반복문 내에서 동일한 수면 넘어가주면 된다. 2. 코드 1. 풀이 [Java] import java....
문제 링크 1. 문제 풀이 $N$ 개의 자연수 중 길이가 $M$ 인 조합을 모두 구하는 문제로 재귀를 활용해서 구하면 된다. 이때 중복되는 조합은 출력하지 않아야 하는데 이는 prev 변수에 최근에 담은 수를 저장하고 반복문 내에서 동일한 수면 넘어가주면 된다. 2. 코드 1. 풀이 [Java] import java.io.*; ...
문제 링크 1. 문제 풀이 $N$ 개의 자연수 중 길이가 $M$ 인 순열을 모두 구하는 문제로 재귀를 활용해서 방문 체크를 하며 구하면 된다. 이때 중복되는 순열은 출력하지 않아야 하는데 이는 prev 변수에 최근에 담은 수를 저장하고 반복문 내에서 동일한 수면 넘어가주면 된다. 2. 코드 1. 풀이 [Java] import j...
문제 링크 1. 문제 풀이 $N$ 개의 자연수 중 길이가 $M$ 인 중복 조합을 모두 구하는 문제로 재귀를 활용해서 구하면 된다. 2. 코드 1. 풀이 [Java] import java.io.*; import java.util.*; public class Main { static StringBuilder sb = ne...