원본 : https://school.programmers.co.kr/learn/courses/30/lessons/42898
코딩테스트 연습 - 등굣길
계속되는 폭우로 일부 지역이 물에 잠겼습니다. 물에 잠기지 않은 지역을 통해 학교를 가려고 합니다. 집에서 학교까지 가는 길은 m x n 크기의 격자모양으로 나타낼 수 있습니다. 아래 그림은 m =
school.programmers.co.kr
풀이
class Solution {
public int solution(int m, int n, int[][] puddles) {
int[][] dp = new int[n + 1][m + 1];
for (int[] puddle : puddles) {
dp[puddle[1]][puddle[0]] = -1;
}
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= m; j++) {
if (i == 1 && j == 1) {
dp[i][j] = 1;
continue;
}
if (dp[i][j] != -1) {
dp[i][j] = dp[i - 1][j] + dp[i][j - 1];
if (dp[i - 1][j] == -1) {
dp[i][j]++;
}
if (dp[i][j - 1] == -1) {
dp[i][j]++;
}
dp[i][j] %= 1000000007;
}
}
}
return dp[n][m];
}
}
가장 긴 팰린드롬 (연습문제) (0) | 2022.08.10 |
---|---|
최고의 집합 (연습문제) (0) | 2022.08.10 |
기지국 설치 (Summer/Winter Coding(~2018)) (0) | 2022.08.09 |
이중우선순위큐 (힙(Heap)) (0) | 2022.08.04 |
정수 삼각형 (동적계획법(Dynamic Programming)) (0) | 2022.08.04 |
댓글 영역