From 77bddce89292b20a4fdf7322ec87d1fe81c85819 Mon Sep 17 00:00:00 2001 From: dooli1971039 Date: Sun, 20 Nov 2022 03:52:30 +0900 Subject: [PATCH] =?UTF-8?q?epper=20=EB=8C=80=EC=B2=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ..._\353\223\261\352\265\243\352\270\270.cpp" | 30 +++++++++++++++++++ ... \354\202\274\352\260\201\355\230\225.cpp" | 26 ++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 "Epper/1971039_\353\223\261\352\265\243\352\270\270.cpp" create mode 100644 "Epper/1971039_\354\240\225\354\210\230 \354\202\274\352\260\201\355\230\225.cpp" 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