[프로그래머스] 절대 외부 IDE를 써선 안돼/Java

[lv2] 등굣길

SH3542 2024. 10. 15. 00:58

https://school.programmers.co.kr/learn/courses/30/lessons/42898

처음엔 0열과 0행은 모두 한가지 최단 경로밖에 없으므로
다음과 같은 꼴이라고 생각했다. 0열이나 0행에 웅덩이가 있는 경우가 반례였다.

S 1 1 1 1 1

1 0 0 0 0 0

1 0 0 0 0 0

1 0 0 0 0 0

1 0 0 0 0 E

이후 padding을 준 dp로 바꿨다.

import java.util.*;

class Solution {
    public int solution(int m, int n, int[][] puddles) {

        int mod = 1000000007;

        int[][] dp = new int[n+1][m+1];

        dp[1][1] = 1;

        boolean[][] water = new boolean[n+1][m+1];

        for(int i=0; i<puddles.length; i++)
            water[puddles[i][1]][puddles[i][0]] = true;

        for(int i=1; i<=n; i++) {
            for(int j=1; j<=m; j++) {

                if(water[i][j]) continue;

                if(!water[i-1][j])
                    dp[i][j] += dp[i-1][j];

                if(!water[i][j-1])
                    dp[i][j] += dp[i][j-1];

                dp[i][j] %= mod;
            }
        }

        return dp[n][m];
    }
}

'[프로그래머스] 절대 외부 IDE를 써선 안돼 > Java' 카테고리의 다른 글

[lv3] 야근 지수  (0) 2024.11.04
[lv3] 입국심사  (0) 2024.10.19
[lv2] 전력망을 둘로 나누기  (1) 2024.10.16
[lv2] 모음사전  (0) 2024.10.15
[lv3] 가장 먼 노드  (2) 2024.10.11