[BOJ] 백준 #1309. 동물원 (C++)
🎨 문제 문제 링크: https://www.acmicpc.net/problem/1309 알고리즘 분류: 다이나믹 프로그래밍 난이도: Silver 1 💬 풀이 처음에는 수학 조합문제 느낌으로 생각하다가, 노가다로 직접 N=1, N=2, N=3, ...일때 구하다가 DP 문제라고 삘이 왔다. 사실 내가 푼 방법은 N=1부터 N=4까지 노가다로 직접 값을 구한 뒤에, 그냥 끼워맞춰서 점화식을 구했다. 한마디로 야매로 풀었다는 것,,,ㅎㅎ 즉, 직접 dp[1]=3, dp[2]=7, dp[3]=17, dp[4]=41까지 구해놓은 다음에, 3,7,17,41,...에서 이전 항을 이용해서 숫자를 어떻게 하면 나올지 껴맞춰 보다가 일반화된 식 dp[n] = 2*dp[n-1] + dp[n-2]를 구할 수 있었다. 너무 ..
[BOJ] 백준 #2210. 숫자판 점프 (C++)
🎨 문제 문제 링크: https://www.acmicpc.net/problem/2210 알고리즘 분류: 깊이 우선 탐색 (DFS), 그래프 탐색, 브루트포스 난이도: Silver 2 💬 풀이 1. arr[5][5]에 숫자판을 입력받고, 2. 모든 좌표에 대해 DFS 경로 탐색 - 중복을 허용하지 않는 set을 이용한다. 👩💻 코드 C++ #define _CRT_SECURE_NO_WARNINGS #include #include #define N 5 using namespace std; int arr[N][N]; int dx[4] = { 1, 0, -1, 0 }; int dy[4] = { 0, 1, 0, -1 }; set s; void DFS(int y, int x, int n, int len) { if ..