풀이
DP를 이용해서 1x2 타일을 두는경우와 2x1 타일을 두는경우를 구해 10007로 나눈 나머지를 출력하여 해결했습니다.
코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static int n;
public static int[] memo = new int[1001];
public final static int MOD = 10007;
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
n = Integer.parseInt(br.readLine());
memo[1] = 1;
memo[2] = 2;
for (int i = 3; i <= n; ++i) {
memo[i] = memo[i - 1] % MOD + memo[i - 2] % MOD;
}
System.out.println(memo[n] % MOD);
}
}
'알고리즘 > 백준' 카테고리의 다른 글
[Java] BOJ 2193번 이친수 (0) | 2021.04.01 |
---|---|
[Java] BOJ 1932번 정수 삼각형 (0) | 2021.03.31 |
[Java] 백준 9095번 1, 2, 3 더하기 (0) | 2021.03.25 |
[Java] 백준 2839번 설탕 배달 (0) | 2021.03.24 |
[C++] 백준 14889번 : 스타트와 링크 (0) | 2020.05.30 |