본문 바로가기

알고리즘/Class 324

백준 BOJ 2630번 - 색종이 만들기 접근 방법 이전에 풀어봤던 1992번과 거의 똑같은 문제다. https://edvedv.tistory.com/34 백준 BOJ 1992번 접근 방법 이전에 풀었던 1780번과 유사한 문제다. 다른 점이 있다면 이전에 푼 것은 9분할, 이번 문제는 4분할 한다는 점이다. https://edvedv.tistory.com/28?category=1038364 백준 BOJ 1780번 접근 방법 이.. edvedv.tistory.com 재귀, 분할정복을 사용해서 파란색과 하얀색을 카운트해주면 쉽게 해결할 수 있다. 코드 import java.util.*; public class Main { public static int[][] arr; static int count[] = {0, 0}; public static .. 2022. 8. 31.
백준 BOJ 2606번 - 바이러스 접근 방법 DFS와 BFS 둘 다 사용할 수 있는 문제다. DFS, BFS를 활용할 줄 안다면 쉽게 풀 수 있는 문제다. 필자는 BFS를 사용해서 풀었다. DFS, BFS를 정리해놓은 글이다. https://edvedv.tistory.com/4?category=1038364 백준 BOJ 1012번 접근 방법 인접한 배추들을 그래프 형태로 생각하면, DFS와 BFS를 사용하여 문제를 풀 수 있다. DFS, BFS 둘다 그래프를 탐색하는 방법이다. 그래프란, 정점(node)과 그 정점을 연결하는 간선(edge)으로 edvedv.tistory.com // Class 3에는 bfs가 굉장히 많은 느낌 코드 import java.util.*; public class Main { static int node[][].. 2022. 8. 30.
백준 BOJ 2579번 - 계단 오르기 접근 방법 먼저 이 문제는 DP를 사용하는 문제다. 이 문제를 푸는데에 핵심은 1번, 2번 규칙이다. 계단은 한 번에 한 계단씩 또는 두 계단씩 오를 수 있다. 연속된 세 개의 계단을 모두 밟아서는 안 된다. 단, 시작점은 계단에 포함되지 않는다. 역으로 생각하면 쉽다. n번째의 계단을 밟으려면 경우의 수는 2가지가 있다. n-3을 밟고 n-1을 밟고 오는 경우 n-2을 밟고 오는 경우 2번 규칙 때문에 이렇게 두 가지 경우밖에 없다. 따라서, n번째 계단의 값은 2가지 경우 중 큰 값 + n번의 값이 해당 계단의 dp값이 된다. 이를 코드로 구현해보자. 코드 import java.util.*; public class Main { public static void main(String[] args) { .. 2022. 8. 29.
백준 BOJ 2178번 - 미로 탐색 접근 방법 이 전에도 많이 풀어봤던 BFS 문제다 https://edvedv.tistory.com/4?category=1038364 백준 BOJ 1012번 접근 방법 인접한 배추들을 그래프 형태로 생각하면, DFS와 BFS를 사용하여 문제를 풀 수 있다. DFS, BFS 둘다 그래프를 탐색하는 방법이다. 그래프란, 정점(node)과 그 정점을 연결하는 간선(edge)으로 edvedv.tistory.com 코드 import java.util.*; public class Main { static int[][] maze; static boolean[][] visit; static int N,M; static int[] dx = { -1, 1, 0, 0 }; static int[] dy = { 0, 0, -1,.. 2022. 8. 28.