230301 쌍둥이 빌딩 숲

Jongleee·2023년 3월 1일
0

TIL

목록 보기
194/737
public static int solution(int n, int count) {
	final int MOD = 1000000007;
	if (n == count)
		return 1;
	long[][] dp = new long[n + 1][count + 1];
	dp[0][0] = 1;
	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= count; j++) {
			dp[i][j] = (dp[i - 1][j - 1] + 2 * (i - 1) * dp[i - 1][j]) % MOD;
		}
	}
	return (int) dp[n][count];
}

숫자가 커지는 경우 오버플로우가 날 수 있으므로 long 배열을 사용함

0개의 댓글