Skip to content

Commit 9808f1c

Browse files
committed
106차 3번 문제풀이
1 parent 0b7ab9a commit 9808f1c

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
function solution(m, n, puddles) {
2+
const dp = Array.from({ length: n }, () => Array(m).fill(0));
3+
4+
for (const puddle of puddles) {
5+
const [col, row] = puddle;
6+
7+
dp[row - 1][col - 1] = -1;
8+
}
9+
10+
for (let i = 0; i < m; i++) {
11+
if (dp[0][i] === -1) {
12+
break;
13+
}
14+
15+
dp[0][i] = 1;
16+
}
17+
18+
for (let i = 0; i < n; i++) {
19+
if (dp[i][0] === -1) {
20+
break;
21+
}
22+
23+
dp[i][0] = 1;
24+
}
25+
26+
for (let i = 1; i < n; i++) {
27+
for (let j = 1; j < m; j++) {
28+
if (dp[i][j] === -1) {
29+
continue;
30+
}
31+
32+
if (dp[i - 1][j] === -1 || dp[i][j - 1] === -1) {
33+
dp[i][j] = Math.max(dp[i - 1][j], dp[i][j - 1]);
34+
} else {
35+
dp[i][j] = (dp[i - 1][j] + dp[i][j - 1]) % 1000000007;
36+
}
37+
}
38+
}
39+
40+
return dp[n - 1][m - 1];
41+
}
42+
console.log(solution(4, 3, [[2, 2]]));

0 commit comments

Comments
 (0)