๋ฐ์ํ
๐ค๋ฌธ์ ํด๊ฒฐ
- ์ง์์นธ((i + j) % 2 == 0)๊ณผ ํ์์นธ์ ๊ตฌ๋ถํ์ฌ ์์ ๊ฐ์๋ฅผ ๊ตฌํ๋ค.
- ์๋ฅผ ๋ค์ด
- ์ง์์นธ์ ํฐ์ 30, ๊ฒ์์ 2
- ํ์๊ฐ์ ๊ฒ์์ 32, ํฐ์ 0 ์ด ์๋ค๋ฉด
- ์ง์์นธ์ ๊ฒ์์ 2 ๋ฅผ ํฐ์์ผ๋ก ์น ํ๋ฉด ์๋ฒฝํ ์ฒด์คํ์ด ๋ง๋ค์ด์ง๋ค.
- ๋ฐ๋๋ก ์ง์์นธ ํฐ์ 30 ์ ๊ฒ์์์ผ๋ก, ํ์์นธ ๊ฒ์์ 32 ๋ฅผ ํฐ์์ผ๋ก ๋ง๋ค์ด๋ ์๋ฒฝํ ์ฒด์คํ์ด ๋์ง๋ง 62 ๊ฐ๋ฅผ ์น ํด์ผ ํ๋ฏ๋ก ์ ์๊ฐ ๋ ์ต์์ธ ๊ฒฝ์ฐ์ด๋ค.
- ์ง์์นธ์ ํฐ์ + ํ์์นธ์ ๊ฒ์์, ์ง์์นธ์ ๊ฒ์์ + ํ์์นธ์ ํฐ์ ์ค ์ต์์ธ ๊ฐ์ ๊ณ์ ๊ฐฑ์ ํด์ค๋ค.
๐ป์์ค ์ฝ๋
import sys
def paint(x, y):
color = [
[0, 0],
[0, 0]
]
for i in range(x, x + 8):
for j in range(y, y + 8):
if (i + j) % 2 == 0:
if board[i][j] == 'W':
color[0][0] += 1
else:
color[1][0] += 1
else:
if board[i][j] == 'B':
color[0][1] += 1
else:
color[1][1] += 1
# print(color)
return min(sum(color[0]), sum(color[1]))
if __name__ == '__main__':
input = sys.stdin.readline
N, M = map(int, input().split())
board = [list(input().strip()) for _ in range(N)]
answer = 1e9 # ์ต์๊ฐ ์ฐพ๊ธฐ
for i in range(0, N - 8 + 1):
for j in range(0, M - 8 + 1):
# ์์์
answer = min(answer, paint(i, j))
print(answer)
๐๋ฌธ์ ํ์ธ
์ถ์ฒ: BACKJOON ONLINE JUDGE
๋ฐ์ํ
'Algorithm Problem > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[python] ๋ฐฑ์ค - 20055. ์ปจ๋ฒ ์ด์ด ๋ฒจํธ ์์ ๋ก๋ด (0) | 2021.10.04 |
---|---|
[python] ํ๋ก๊ทธ๋๋จธ์ค - ์ํด๋ฆฌ์ฑ๋ฆฐ์ง 7์ฃผ์ฐจ (0) | 2021.10.02 |
[python] ํ๋ก๊ทธ๋๋จธ์ค - ์ํด๋ฆฌ์ฑ๋ฆฐ์ง 7์ฃผ์ฐจ (0) | 2021.09.17 |
[python] ๋ฐฑ์ค - 2485. ๊ฐ๋ก์ (0) | 2021.09.16 |
[python] ๋ฐฑ์ค - 21608. ์์ด ์ด๋ฑํ๊ต (0) | 2021.09.15 |