Deff_Dev
[프로그래머스] 등굣길 (C++) 본문
문제
풀이
DP를 이용하여 풀었다.
점화식
dp[i][j] = dp[i - 1][j] + dp[i][j - 1];
물 웅덩이(-1) 일 땐 계산하지 않았다.
#include <vector>
using namespace std;
int dp[101][101] = {0,};
int solution(int m, int n, vector<vector<int>> puddles) {
for (int i = 0; i < puddles.size(); i++) {
dp[puddles[i][1]][puddles[i][0]] = -1;
}
dp[1][1]=1;
for(int i=1; i<=n;i++){
for(int j=1; j<=m; j++){
int left=0;
int up=0;
if(dp[i][j]==-1)
continue;
if(dp[i-1][j]!=-1)
left = dp[i-1][j];
if(dp[i][j-1]!=-1)
up = dp[i][j-1];
dp[i][j]+=(left+up)%1000000007;
}
}
return dp[n][m];
}
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 충돌위험 찾기 (C++) (2) | 2024.11.02 |
---|---|
[프로그래머스] 메뉴 리뉴얼 (C++) (1) | 2024.09.10 |
[프로그래머스] 키패드 누르기 (C++) (1) | 2024.09.05 |
[프로그래머스] 바탕화면 정리 (C++) (0) | 2024.09.05 |
[프로그래머스] 의상 (C++) (0) | 2024.08.18 |