https://programmers.co.kr/learn/courses/30/lessons/42898
코딩테스트 연습 - 등굣길
계속되는 폭우로 일부 지역이 물에 잠겼습니다. 물에 잠기지 않은 지역을 통해 학교를 가려고 합니다. 집에서 학교까지 가는 길은 m x n 크기의 격자모양으로 나타낼 수 있습니다. 아래 그림은 m =
programmers.co.kr
/**
1. dp 풀이
2. 현재 좌표로 올수 있는건 위에서 오는거랑 왼쪽에서 오는 것 뿐.
3. 물웅덩이는 계산하지말고 패스할 것.
**/
class Solution {
public int solution(int m, int n, int[][] puddles) {
int answer = 0;
int[][] dp = new int[n+1][m+1];
int div = 1_000_000_007;
for(int[] puddle : puddles){
int y = puddle[0];
int x = puddle[1];
dp[x][y] = -1;
}
for(int i = 1; i <= n; i++){
for(int j = 1; j <= m; j++){
if(dp[i][j] == -1){
dp[i][j] = 0;
continue;
}
if(i == 1 && j == 1){
dp[1][1] = 1;
}else{
dp[i][j] = (dp[i-1][j]+ dp[i][j-1]) %div;
}
}
}
return dp[n][m];
}
}
'Algorithm > 프로그래머스풀이' 카테고리의 다른 글
[알고리즘 문제풀이] 프로그래머스 - 이진 변환 반복하기 / JAVA(자바) (0) | 2022.03.27 |
---|---|
[알고리즘 문제풀이] 프로그래머스 - 모음사전 / JAVA(자바) (0) | 2022.03.26 |
[알고리즘 문제풀이] 프로그래머스 - 디스크 컨트롤러 / JAVA(자바) (0) | 2022.03.21 |
[알고리즘 문제풀이] 프로그래머스 - 전력망을 둘로 나누기 / JAVA(자바) (0) | 2022.03.20 |
[알고리즘 문제풀이] 프로그래머스 - 교점에 별 만들기 / JAVA(자바) (0) | 2022.03.13 |
댓글