[프로그래머스 Lv.3] 동적계획법(Dynamic Programming) - 등굣길

김민지·2024년 1월 21일
0

✨ 문제 ✨

✨ 정답 ✨

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

const isPuddle = (x, y, puddles) => {
  for(const puddle of puddles) {
    if(puddle[0] === y && puddle[1] === x)
      return true;
  }
  return false;
}

🧵 참고한 정답지 🧵

💡💡 기억해야 할 점 💡💡

profile
이건 대체 어떻게 만든 거지?

0개의 댓글

관련 채용 정보