diff --git "a/Epper/1971039_\353\223\261\352\265\243\352\270\270.cpp" "b/Epper/1971039_\353\223\261\352\265\243\352\270\270.cpp" new file mode 100644 index 0000000..ba182ea --- /dev/null +++ "b/Epper/1971039_\353\223\261\352\265\243\352\270\270.cpp" @@ -0,0 +1,30 @@ +#include +#include + +using namespace std; + +int solution(int m, int n, vector> puddles) { + vector> dp(n + 1, vector(m + 1, 0)); + int answer = 0; + + for (int i = 0; i < puddles.size(); i++) { + int x = puddles[i][1]; //열 + int y = puddles[i][0]; //행 + dp[x][y] = -1; + } + + dp[1][1] = 1; + for (int i = 1; i <= n; i++) { + for (int j = 1; j <= m; j++) { + if (i == 1 && j == 1) + continue; + if (dp[i][j] == -1) + dp[i][j] = 0; + else + dp[i][j] = (dp[i - 1][j] + dp[i][j - 1]) % 1000000007; + } + } + + answer = dp[n][m] % 1000000007; + return answer; +} \ No newline at end of file diff --git "a/Epper/1971039_\354\240\225\354\210\230 \354\202\274\352\260\201\355\230\225.cpp" "b/Epper/1971039_\354\240\225\354\210\230 \354\202\274\352\260\201\355\230\225.cpp" new file mode 100644 index 0000000..7c9f649 --- /dev/null +++ "b/Epper/1971039_\354\240\225\354\210\230 \354\202\274\352\260\201\355\230\225.cpp" @@ -0,0 +1,26 @@ +#include +#include + +using namespace std; + +int dp[501][501]; //전역변수니까 0으로 초기화 됨 + +int solution(vector> triangle) { + int answer = 0; + + dp[0][0] = triangle[0][0]; + for (int i = 0; i < triangle.size(); i++) { + for (int j = 0; j < triangle[i].size(); j++) { + if (j == 0) + dp[i][j] = dp[i - 1][j] + triangle[i][j]; + else if (j == i) + dp[i][j] = dp[i - 1][j - 1] + triangle[i][j]; + else + dp[i][j] = max(dp[i - 1][j - 1], dp[i - 1][j]) + triangle[i][j]; + dp[i][j] = max(dp[i - 1][j - 1], dp[i - 1][j]) + triangle[i][j]; + answer = max(answer, dp[i][j]); + } + } + + return answer; +} \ No newline at end of file