

코드 흐름
- 코드 흐름이랄것도 없이 사실 너무나도 많이 만났던 문제이다. DP, 즉 동적계획법을 사용하여야 하는 풀이임을 이미 진작에 알고 있었고
- 0일때, 1일때, 2일때, 3일때 가능한 경우의 수만 잘 생각해본다면 사실 규칙을 발견할 수 있다.
- 아래 코드에 규칙이 담겨져 있다. arr[i]=(arr[i-1]+arr[i-2]) 이부분이다.
package Programmers;
class p2xn타일링 {
public int solution(int n) {
int[] arr = new int[n+1];
if(n <= 3)
return n;
for(int i = 0 ; i <= n ;i++)
{
if(i<=3){
arr[i] = i;
continue;
}
arr[i]=(arr[i-1]+arr[i-2])%1000000007;
}
return arr[n];
}
}
'Algorithm & Data Structures > Programers' 카테고리의 다른 글
Lv 2. n제곱배열자르기 (4) | 2024.07.22 |
---|---|
Lv 2. 프렌즈4블록 (0) | 2024.07.21 |
Lv 2. 숫자변환하기 (1) | 2024.07.19 |
Lv 2. 오픈채팅방 (0) | 2024.07.18 |
Lv 2. 택배상자 (1) | 2024.07.17 |