기록하는 개발자

[프로그래머스][코딩테스트 고득점 Kit][java,javascript] 등굣길 본문

JAVA

[프로그래머스][코딩테스트 고득점 Kit][java,javascript] 등굣길

밍맹030 2023. 8. 15. 16:17
728x90

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

전체 코드

[ javascript ]

function solution(m, n, puddles) {
    let answer = 0;
    let DP = Array.from(Array(n+1), ()=>Array(m+1).fill(0));
    DP[1][1]=1;
        
    for(let i=0; i<puddles.length; i++){
        DP[puddles[i][1]][puddles[i][0]] = -1;
    }
        
    for(let i=1; i<=n; i++){
        for(let j=1; j<=m; j++){
            if(DP[i][j]==-1) continue;
            if(DP[i][j-1]!=-1&&j-1>0) DP[i][j]+=DP[i][j-1]%1000000007;
            if(DP[i-1][j]!=-1&&i-1>0) DP[i][j]+=DP[i-1][j]%1000000007;
            }
        }
    return DP[n][m]%1000000007;
}

 

[ java ]

class Solution {
    public int solution(int m, int n, int[][] puddles) {
        int DP[][] = new int[n+1][m+1];
        DP[1][1]=1;
        
        for(int i=0; i<puddles.length; i++){
            DP[puddles[i][1]][puddles[i][0]] = -1;
        }
        
        for(int i=1; i<=n; i++){
            for(int j=1; j<=m; j++){
                if(DP[i][j]==-1) continue;
                if(DP[i][j-1]!=-1&&j-1>0) DP[i][j]+=DP[i][j-1]%1000000007;
                if(DP[i-1][j]!=-1&&i-1>0) DP[i][j]+=DP[i-1][j]%1000000007;
            }
        }
        return DP[n][m]%1000000007;
    }
}

 

728x90