https://www.acmicpc.net/problem/1018
๐ฅ Silver 4 : ์ฒด์คํ ๋ค์ ์น ํ๊ธฐ
โ ์ ๋ต ํ์ด
import sys
input = sys.stdin.readline
n, m = map(int, input().split())
# ๋ณด๋ ์ฝ๊ธฐ
board = []
for _ in range(n):
board.append(input().rstrip())
result = []
# ๊ฐ๋ฅํ ๋ณด๋ ์ํ
for i in range(n - 7):
for j in range(m - 7):
w_board = 0
b_board = 0
#8x8๋ก ์๋ฅด๊ธฐ
for y in range(i, i + 8):
for x in range(j, j + 8):
temp=board[y][x]
if (x + y) % 2 == 0:
if temp != 'W':
w_board += 1
if temp != 'B':
b_board += 1
else:
if temp != 'B':
w_board += 1
if temp != 'W':
b_board += 1
result.append(min(w_board, b_board))
print(min(result))
2์ฐจ์ ๋ฆฌ์คํธ๋ฅผ ์์ง ์ ๋ชปํ๋ค๋ณด๋..
์ด ๋ฌธ์ ๋ ๋์๊ฒ ๋๋ฌด๋ ํ๋ค์๋ค....๐ซ
์ฒ์์, ๋ณด๋๋ฅผ 8X8์ฌ์ด์ฆ๋ก ์๋ฅด๋ ๋ฐฉ์์ ์ด๋ป๊ฒ ์๋ผ์ผํ๋์ง ๊ต์ฅํ ๊ณ ๋ฏผํ๋ฉด์
์ฒ์๋ถํฐ ๊ฐํผ๋ฅผ ์ก์ง ๋ชปํ๋ค.
์ฌ์ง์ด ์ฐ์์ ์ผ๋ก ์๋ฅด๋๊ฒ ์๋๋ผ, ์ํ๋๋๋ก ์๋ฅผ์ ์๋ค๋ ๋ง์ ๊ฝํ์ ๊ฐ์ฅ ์์น ์ ๋ค์ ํ์ง ์์ผ๋ ค๋ฉด.. ๊ฐ์ฅ ์๋ฒฝํ ๋ณด๋์ ํจํด์ ๊ฐ๊น์ด row,col๋ก ์๋ผ์ผํ๋ ๊ทธ๊ฑด ์ด๋ป๊ฒ ์ ์ํด์ผํ์ง ์์ฃผ ๋๋ฆฌ๊ฐ๋ฌ์๋ค...
๋ณต์กํ๊ฒ ์๊ฐํ์ง ๋ง๊ณ , ์ฐ์์ ์ผ๋ก ์๋ฅผ์ ์๊ธฐ๋๋ฌธ์ n-7, m-7์ ์ํํ๋ฉด์ row์ col์ ์ด๋ํ๋ฉฐ 8x8์ฉ ๋ณด๋๋ฅผ ์๋ฅธ๋ค.
๐๐ป 8x8๋ก ๋ง๋ค์์๋ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ์ํํ๋๊ฒ
๋ณด๋๋ฅผ ์๋ฅด๋๊ฑธ ์ฝ๋๋ก ์ฎ๊ธฐ๋๊ฒ ์ด๋ ค์ ๋๋ฐ..
i๊ฐ row, j๊ฐ col ํฌ์ธํฐ๋ผ๊ณ ์๊ฐํ๊ณ ์ด ๊ฐ์ด ๋ณด๋๋ฅผ ์๋ฅด๋ ์์์ ์ด๋ค.
์ด์ค for๋ฌธ์ผ๋ก i~i+8๊น์ง ๊ฐ๋ก์ธ๋ก์ ๋ชจ๋ ์นธ์ ์ํํ๋ฉด์ temp๋ผ๋ ์์๋ณ์์ ๊ฐ์ ๋ฃ๊ณ
ํ์ดํธ๋ณด๋์ ๋ธ๋๋ณด๋์ ๊ฐ๊ฐ์ ๊ฒฝ์ฐ์ ๋ฐ๋ผ ๋ง์กฑํ์ง ์์ผ๋ฉด, ์น ํด์ผํ๋ ์นธ์๋ฅผ 1์ฉ ์ฆ๊ฐ์์ผ์ค๋ค.
๐ก์ด๋ ๋ ํ๋์ ํจํด์ ๋ฐ๊ฒฌํ ์ ์๋๋ฐ,
(x,y)์ ๊ฐ์ ๋ํ์๋ ํ์์ธ์ง ์ง์์ธ์ง์ ๋ฐ๋ผ ๋ถ๊ธฐ์ฒ๋ฆฌ๋ฅผ ํ ์ ์๋ค!
'๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค-Python] ์ค๋ชฉ : 2615๋ฒ (0) | 2024.06.04 |
---|---|
[๋ฐฑ์ค-Python] ์ค์์น ์ผ๊ณ ๋๊ธฐ : 1244๋ฒ (1) | 2024.06.04 |
[๋ฐฑ์ค-Python] ๋์ธ ์๋ฆฌ๋ฅผ ์ฐพ์๋ผ : 1652๋ฒ (0) | 2024.06.03 |
[๋ฐฑ์ค-python] ์๊ณ ๋ฆฌ์ฆ์ ์ํ ์๊ฐ 2,4,6๋ฒ (0) | 2024.05.31 |
[๋ฐฑ์ค-Python] ์๋ก ๋ค๋ฅธ ๋ถ๋ถ ๋ฌธ์์ด์ ๊ฐ์ : 11478๋ฒ (0) | 2024.05.30 |