개발/코딩테스트
프로그래머스 등굣길
캐리캐리
2025. 1. 11. 00:31
행 : n , 열 : m , 물이 잠긴 지역의 좌표 : puddles
1,1로 가는 경우 0,1로 간 총횟수와 1,0으로 간 총횟수를 더한 값
시작지점을 1로 설정하여 이후 값을 더함
public int solution(int m, int n, int[][] puddles) {
int[][]dp = new int[n][m];
for(int[] puddle : puddles)
dp[puddle[1]-1][puddle[0]-1] = -1;
dp[0][0] = 1;
for(int i=0; i<n; i++){
for(int j=0; j<m;j++){
if(dp[i][j] ==-1){
dp[i][j] = 0;
continue;
}
if(i>0)
dp[i][j]+=dp[i-1][j]% 1000000007;
if(j>0)
dp[i][j]+=dp[i][j-1]% 1000000007;
}
}
return dp[i-1][j-1] % 1000000007 ;
}