[๋ฐฑ์ค/python] 14500๋ฒ : ํ ํธ๋ก๋ฏธ๋ ธ
๋ฌธ์
ํด๋ฆฌ์ค๋ฏธ๋ ธ๋ ํฌ๊ธฐ๊ฐ 1×1์ธ ์ ์ฌ๊ฐํ์ ์ฌ๋ฌ ๊ฐ ์ด์ด์ ๋ถ์ธ ๋ํ์ด๋ฉฐ, ๋ค์๊ณผ ๊ฐ์ ์กฐ๊ฑด์ ๋ง์กฑํด์ผ ํ๋ค.
- ์ ์ฌ๊ฐํ์ ์๋ก ๊ฒน์น๋ฉด ์ ๋๋ค.
- ๋ํ์ ๋ชจ๋ ์ฐ๊ฒฐ๋์ด ์์ด์ผ ํ๋ค.
- ์ ์ฌ๊ฐํ์ ๋ณ๋ผ๋ฆฌ ์ฐ๊ฒฐ๋์ด ์์ด์ผ ํ๋ค. ์ฆ, ๊ผญ์ง์ ๊ณผ ๊ผญ์ง์ ๋ง ๋ง๋ฟ์ ์์ผ๋ฉด ์ ๋๋ค.
์ ์ฌ๊ฐํ 4๊ฐ๋ฅผ ์ด์ด ๋ถ์ธ ํด๋ฆฌ์ค๋ฏธ๋ ธ๋ ํ ํธ๋ก๋ฏธ๋ ธ๋ผ๊ณ ํ๋ฉฐ, ๋ค์๊ณผ ๊ฐ์ 5๊ฐ์ง๊ฐ ์๋ค.
์๋ฆ์ด๋ ํฌ๊ธฐ๊ฐ N×M์ธ ์ข ์ด ์์ ํ ํธ๋ก๋ฏธ๋ ธ ํ๋๋ฅผ ๋์ผ๋ ค๊ณ ํ๋ค. ์ข ์ด๋ 1×1 ํฌ๊ธฐ์ ์นธ์ผ๋ก ๋๋์ด์ ธ ์์ผ๋ฉฐ, ๊ฐ๊ฐ์ ์นธ์๋ ์ ์๊ฐ ํ๋ ์ฐ์ฌ ์๋ค.
ํ ํธ๋ก๋ฏธ๋ ธ ํ๋๋ฅผ ์ ์ ํ ๋์์ ํ ํธ๋ก๋ฏธ๋ ธ๊ฐ ๋์ธ ์นธ์ ์ฐ์ฌ ์๋ ์๋ค์ ํฉ์ ์ต๋๋ก ํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
ํ ํธ๋ก๋ฏธ๋ ธ๋ ๋ฐ๋์ ํ ์ ์ฌ๊ฐํ์ด ์ ํํ ํ๋์ ์นธ์ ํฌํจํ๋๋ก ๋์์ผ ํ๋ฉฐ, ํ์ ์ด๋ ๋์นญ์ ์์ผ๋ ๋๋ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ์ข ์ด์ ์ธ๋ก ํฌ๊ธฐ N๊ณผ ๊ฐ๋ก ํฌ๊ธฐ M์ด ์ฃผ์ด์ง๋ค. (4 ≤ N, M ≤ 500)
๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ์ข ์ด์ ์ฐ์ฌ ์๋ ์๊ฐ ์ฃผ์ด์ง๋ค. i๋ฒ์งธ ์ค์ j๋ฒ์งธ ์๋ ์์์๋ถํฐ i๋ฒ์งธ ์นธ, ์ผ์ชฝ์์๋ถํฐ j๋ฒ์งธ ์นธ์ ์ฐ์ฌ ์๋ ์์ด๋ค. ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง๋ ์๋ 1,000์ ๋์ง ์๋ ์์ฐ์์ด๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ํ ํธ๋ก๋ฏธ๋ ธ๊ฐ ๋์ธ ์นธ์ ์ฐ์ธ ์๋ค์ ํฉ์ ์ต๋๊ฐ์ ์ถ๋ ฅํ๋ค.
์ ๋ต
import sys
input = sys.stdin.readline
N, M = map(int, input().split())
board = [list(map(int, input().split())) for _ in range(N)]
answer = []
tetrominos = [[(0,0), (0,1), (0,2), (0,3)],
[(0,0), (1,0), (2,0), (3,0)],
[(0,0), (0,1), (1,0), (1,1)],
[(0,0), (1,0), (1,1), (2,1)],
[(1,0), (1,1), (0,1), (0,2)],
[(0,0), (0,1), (1,1), (1,2)],
[(0,1), (1,0), (1,1), (2,0)],
[(0,0), (0,1), (0,2), (1,1)],
[(0,1), (1,0), (1,1), (2,1)],
[(0,1), (1,0), (1,1), (1,2)],
[(0,0), (1,0), (2,0), (1,1)],
[(0,0), (1,0), (2,0), (2,1)],
[(0,1), (1,1), (2,1), (2,0)],
[(0,0), (0,1), (0,2), (1,0)],
[(0,0), (0,1), (0,2), (1,2)],
[(0,0), (0,1), (1,1), (2,1)],
[(0,0), (0,1), (1,0), (2,0)],
[(0,2), (1,0), (1,1), (1,2)],
[(0,0), (1,0), (1,1), (1,2)]]
for x in range(N):
for y in range(M):
for tetromino in tetrominos:
total = 0
for _x, _y in tetromino:
try:
total += board[x+_x][y+_y]
except IndexError:
break
answer.append(total)
print(max(answer))
๋ถ๋ฅ๊ฐ ๋ธ๋ฃจํธํฌ์ค๊ธธ๋ ์์๊ฐ์ด ํ์๋๋ฐ ์ด๋ ๊ฒ ๋ ธ๊ฐ๋ค๋ก ํธ๋๊ฒ ๋ง๋๊ฑด์ง ๋ชจ๋ฅด๊ฒ ๋ค.
์ ์ฌ๊ฐํ ๋ค๊ฐ๋ก ๋ง๋ค ์ ์๋ ๋ธ๋ก์ ์์ ๊ฐ์ 19๊ฐ ๋ธ๋ก๋ฟ์ด๋ค.
์ด๋ฅผ 0์ ๊ธฐ์ค์ผ๋ก ์ขํํํ์ฌ tetrominos์ ์ ์ฅํ๋ค.
์ด๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ชจ๋ ์ขํ์ ๋์ ํ์ฌ ์นธ์ ์ฐ์ฌ์๋ ์์ ํฉ์ answer์ ์ ์ฅํ๋ค.
indexError๋ฅผ ํ๋ํ๋ ์ค์ ํ ํ์์์ด try except๋ฅผ ์ด์ฉํ์ฌ ์ฒดํฌํ ์ ์๋ค.
'๐์๊ณ ๋ฆฌ์ฆ > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค/python] 11724๋ฒ : ์ฐ๊ฒฐ ์์์ ๊ฐ์ (0) | 2021.08.23 |
---|---|
[๋ฐฑ์ค/python] 1012๋ฒ : ์ ๊ธฐ๋ ๋ฐฐ์ถ (0) | 2021.08.23 |
[๋ฐฑ์ค/python] 17219๋ฒ : ๋น๋ฐ๋ฒํธ ์ฐพ๊ธฐ (0) | 2021.08.19 |
[๋ฐฑ์ค/python] 1764๋ฒ : ๋ฃ๋ณด์ก (0) | 2021.08.18 |
[๋ฐฑ์ค/python] 1966๋ฒ : ํ๋ฆฐํฐ ํ (0) | 2021.08.18 |