-
[๋ฐฑ์ค] 11048 ์ด๋ํ๊ธฐ with PythonPS 2022. 2. 19. 17:59728x90๋ฐ์ํ
๐ BOJ 11048 ์ด๋ํ๊ธฐ
๐ก ์กฐ๊ฑด
NรM ํฌ๊ธฐ์ ๋ฏธ๋ก (1 โค N, M โค 1,000)
(r, c)์ ์์ผ๋ฉด, (r+1, c), (r, c+1), (r+1, c+1)๋ก ์ด๋๊ฐ๋ฅ.
์ค๊ท๊ฐ (N, M)์ผ๋ก ์ด๋ํ ๋, ๊ฐ์ ธ์ฌ ์ ์๋ ์ฌํ ๊ฐ์์ ์ต๋๊ฐ์ ๊ตฌํ๋ ๋ฌธ์
N๊ฐ ์ค์๋ ์ด M๊ฐ์ ์ซ์๊ฐ ์ฃผ์ด์ง๋ฉฐ, r๋ฒ์งธ ์ค์ c๋ฒ์งธ ์๋ (r, c)์ ๋์ฌ์ ธ ์๋ ์ฌํ์ ๊ฐ์์ด๋ค.
์ฌํ์ ๊ฐ์๋ 0๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 100๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค.
๋ค์ด๋๋ฏนํ๋ก๊ทธ๋๋ฐ ์ ํ์ ๋ฌธ์
๐ฅ ์์ค ์ฝ๋
from sys import stdin n, m = map(int, stdin.readline().split()) arr = [] candy = [[0] * m for _ in range(n)] res = 0 for _ in range(n): arr.append(list(map(int, stdin.readline().split()))) candy[0][0] = arr[0][0] for i in range(1, m): candy[0][i] = arr[0][i] + candy[0][i - 1] for i in range(1, n): candy[i][0] = arr[i][0] + candy[i - 1][0] for i in range(1, n): for j in range(1, m): candy[i][j] = max(candy[i - 1][j], candy[i][j - 1], candy[i - 1][j - 1]) + arr[i][j] print(candy[n - 1][m - 1])
๐ ์์ ๋ฐ ์คํ๊ฒฐ๊ณผ
์์
4 3 1 2 3 6 5 4 7 8 9 12 11 10
์คํ๊ฒฐ๊ณผ
47
โจ๏ธ ๋ฌธ์ ํ์ด
๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ ์ ํ์ ๋ฌธ์ ์ ๋๋ค. ์ค๊ท๊ฐ ์ด๋ํ๋ฉด์ ์ฌํ์ ๋ชจ๋ ๊ฐ์ ธ๊ฐ ์ ์์ต๋๋ค.
arr ๋ฆฌ์คํธ์ ๊ฐ ์ฌํ์ด ๋์ฌ์ ธ ์๋ ์ซ์๋ฅผ ์ ๋ ฅ๋ฐ์ต๋๋ค.
candy ๋ฆฌ์คํธ๋ ์ค๊ท๊ฐ ์ฑ๊ธด ์ซ์์ ์ต๋๊ฐ์ ์ ์ฅํ ๋ฆฌ์คํธ ์ ๋๋ค.
candy[0][0] ์ arr[0][0] ์ด ๋๊ฒ ์ต๋๋ค.
์๋ํ๋ฉด ์ค๊ท๋ (1, 1)์ ์์นํ๊ณ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.1๋ถํฐ ๊ฐ๊ฐ n, m ๋งํผ ์ด์ค ๋ฐ๋ณต๋ฌธ์ผ๋ก ์ํํด์ค๋๋ค.
candy[i][j] ์ ์ซ์๋ฅผ ์ต๋๊ฐ์ผ๋ก ๊ฐฑ์ ํฉ๋๋ค.์ค๊ท๊ฐ ์์ง์ผ ์ ์๋ ๋ฐฉํฅ์ (0, 1), (1, 0), (1, 1) ์ด๋ฉฐ
์ด๋ ๋ฐฉํฅ์ ๋ฐ๋ผ์ ์ต๋๊ฐ์ ์ ํํด์ candy๋ฅผ ๊ฐฑ์ ํ๊ณ (n - 1, m - 1) ์ธ๋ฑ์ค์ ์๋ ๊ฐ์ ์ถ๋ ฅํฉ๋๋ค.
๐พ ๋๋์
- ์ค๋ฒ ์์ค์ ๋ค์ด๋๋ฏนํ๋ก๊ทธ๋๋ฐ ์ ํ์ ๋ฌธ์ ์๋๋ฐ, ์ด ์ ํ์ ํ์ด๋ณธ ์ ์ด ์๋ค๋ฉด ํ ์ ์๋ ๋ฌธ์ ์์ต๋๋ค.
- ๊ทธ๋ฆฌ๋ ๋ฌธ์ ๋ ์ด๋ฐ ๋ฌธ์ ๊ฐ ๋น์ทํ๊ฒ ์๋๋ฐ, ์ ๋ ฅ๋ฐ์ N๊ณผ M์ ๊ฐ์ ๋ณด๊ณ ์ํ ๋๋์ ๋๋ผ๊ณ ๊ทธ๋ฆฌ๋๊ฐ ์๋ ๊ฒ์ด๋ผ๋ ์๊ฐ์ ํ์ต๋๋ค.
- ์ ํ์์ ์ง๋๊ฒ ์์ง ์ด๋ ต์ต๋๋ค.
๋ฐ์ํ'PS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 15970 ํ์ดํ ๊ทธ๋ฆฌ๊ธฐ with Python (0) 2022.02.20 [๋ฐฑ์ค] 13565 ์นจํฌ with Python (0) 2022.02.19 [๋ฐฑ์ค] 9663 N-Queen with Python (0) 2022.02.14 [๋ฐฑ์ค] 2477 ์ฐธ์ธ๋ฐญ with Python (0) 2022.02.14 [๋ฐฑ์ค] 2422 ํ์ค์ ์ด ์ดํ๋ฆฌ์์ ๊ฐ์ ์์ด์คํฌ๋ฆผ์ ์ฌ๋จน๋๋ฐ with Python (0) 2022.02.13