๋ฌธ์
์ง๋ฏผ์ด๋ ์์ ์ ์ ํ์์ MN๊ฐ์ ๋จ์ ์ ์ฌ๊ฐํ์ผ๋ก ๋๋์ด์ ธ ์๋ M×N ํฌ๊ธฐ์ ๋ณด๋๋ฅผ ์ฐพ์๋ค. ์ด๋ค ์ ์ฌ๊ฐํ์ ๊ฒ์์์ผ๋ก ์น ํด์ ธ ์๊ณ , ๋๋จธ์ง๋ ํฐ์์ผ๋ก ์น ํด์ ธ ์๋ค. ์ง๋ฏผ์ด๋ ์ด ๋ณด๋๋ฅผ ์๋ผ์ 8×8 ํฌ๊ธฐ์ ์ฒด์คํ์ผ๋ก ๋ง๋ค๋ ค๊ณ ํ๋ค.
์ฒด์คํ์ ๊ฒ์์๊ณผ ํฐ์์ด ๋ฒ๊ฐ์์ ์น ํด์ ธ ์์ด์ผ ํ๋ค. ๊ตฌ์ฒด์ ์ผ๋ก, ๊ฐ ์นธ์ด ๊ฒ์์๊ณผ ํฐ์ ์ค ํ๋๋ก ์์น ๋์ด ์๊ณ , ๋ณ์ ๊ณต์ ํ๋ ๋ ๊ฐ์ ์ฌ๊ฐํ์ ๋ค๋ฅธ ์์ผ๋ก ์น ํด์ ธ ์์ด์ผ ํ๋ค. ๋ฐ๋ผ์ ์ด ์ ์๋ฅผ ๋ฐ๋ฅด๋ฉด ์ฒด์คํ์ ์์น ํ๋ ๊ฒฝ์ฐ๋ ๋ ๊ฐ์ง๋ฟ์ด๋ค. ํ๋๋ ๋งจ ์ผ์ชฝ ์ ์นธ์ด ํฐ์์ธ ๊ฒฝ์ฐ, ํ๋๋ ๊ฒ์์์ธ ๊ฒฝ์ฐ์ด๋ค.
๋ณด๋๊ฐ ์ฒด์คํ์ฒ๋ผ ์น ํด์ ธ ์๋ค๋ ๋ณด์ฅ์ด ์์ด์, ์ง๋ฏผ์ด๋ 8×8 ํฌ๊ธฐ์ ์ฒด์คํ์ผ๋ก ์๋ผ๋ธ ํ์ ๋ช ๊ฐ์ ์ ์ฌ๊ฐํ์ ๋ค์ ์น ํด์ผ๊ฒ ๋ค๊ณ ์๊ฐํ๋ค. ๋น์ฐํ 8*8 ํฌ๊ธฐ๋ ์๋ฌด๋ฐ์๋ ๊ณจ๋ผ๋ ๋๋ค. ์ง๋ฏผ์ด๊ฐ ๋ค์ ์น ํด์ผ ํ๋ ์ ์ฌ๊ฐํ์ ์ต์ ๊ฐ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ์ถ๋ ฅ ์์
ํ์ด
๋ฌธ์ ์ดํดํ๋ ์๊ฐ์ ๊ทธ๋ ๊ฒ ์ค๋ ๊ฑธ๋ฆฌ์ง ์์๋๋ฐ ๋ด๊ฐ ์๊ฐํ๋๋ก ๊ตฌํํ๋ ค๊ณ ํ๋๋ ์ฃผ๋จน๊ตฌ๊ตฌ์์ผ๋ก ํธ๋ ๋๋์ด ๋ค์ด(์ดํดํ๊ณ ์๋ฌ ๊ณ ์น๋ ๊ฒ X ์ด? ์ธ๋ฑ์ค ์ด๋ ๊ฒ ๋ฃ์ผ๋๊น ์๋ฌ๋๋ค ์์ ๋ฐ๊ฟ๋ด์ผ์ง O ์ด๋ฐ ๋๋) ์ฌ๋ฌ ๊ณ ์๋ถ๋ค์ ์ ์ ์ ๋ ์ฝ๋๋ฅผ ์ฐธ๊ณ ํ๋ค. ๊ตฌํ ๋ฌธ์ ๋ฅผ ๋ฑํ์ํ์ง ๋ง์๋ ๊ตํ์ ์ป๊ฒ ๋์๋ค.
# Silver 4
import sys
rows, cols = map(int, sys.stdin.readline().split())
board = [sys.stdin.readline().rstrip() for _ in range(rows)]
result = []
for row in range(rows-7):
for col in range(cols-7):
cnt1, cnt2 = 0, 0
# ๋๋ ์ง ์ ์ฌ๊ฐํ๋ณ๋ก ํ์ธ
for r in range(row, row+8):
for c in range(col, col+8):
if (r+c)%2 == 0:
if board[r][c] != 'W':
cnt1 += 1
if board[r][c] != 'B':
cnt2 += 1
else:
if board[r][c] != 'B':
cnt1 += 1
if board[r][c] != 'W':
cnt2 += 1
result.append(cnt1)
result.append(cnt2)
print(min(result))
ํต๊ณผ๋ ์ฝ๋๋ค์ ์ฐธ๊ณ ํ๋ฉด์ ํ ๊ฐ์ง ๊ถ๊ธ์ฆ์ด ์์๊ณ ์ค์ค๋ก ๊ถ๊ธ์ฆ์ ๋ํ ๋ต์ ์๊ฐํด๋ณด์๋ค.
๐ง Q. ์์์ ํ์ธ
๋๋ ์ง ์ ์ฌ๊ฐํ๋ณ๋ก ๋งจ ์ผ์ชฝ ์ ์นธ์ด ๋ฌด์จ ์์ธ์ง ํ์ธ์ ํด์ผ ํ๋ค๊ณ ์๊ฐํ๊ธฐ ๋๋ฌธ์ ์ฒ์์๋ ๊ฑฐ๊ธฐ์ ๋ง์ถฐ์ ์ฝ๋๋ฅผ ์งฐ๋ค.
1) ๋งจ ์ผ์ชฝ ์ ์นธ์ด ๊ฒ์์์ผ ๋
2) ๋งจ ์ผ์ชฝ ์ ์นธ์ด ํฐ์์ผ ๋
๋ ๊ฐ์ง ๊ฒฝ์ฐ๋ก ๋๋ ์ฝ๋๋ฅผ ์์ฑํ๋ ค๊ณ ํ๋๋ฐ ์กฐ๊ฑด๋ฌธ๊ณผ ์ค๋ณต๋๋ ์ฝ๋๊ฐ ๋ง์์ ์ด๋ ๊ฒ ํ๋ ๊ฒ ๋ง๋ ์ถ์ ์๊ฐ์ด ๋ค์๋ค. ๊ทธ๋ฐ๋ฐ ๋ค๋ฅธ ๋ถ๋ค์ ์ฝ๋๋ ์์์ ์ ์์ ๋ฐ๋ก ์ฒดํฌํ์ง ์๊ณ ๋ฐ๋ก cnt ๋ณ์์ ๊ฐ์ ๋ํด์ฃผ๋ ์กฐ๊ฑด๋ฌธ๋ถํฐ ์์ํ๋ ๊ฒ์ด์์!
๐ค A. line 18, 23
Line 18๊ณผ 23์ ์กฐ๊ฑด๋ฌธ์ด ํด๋ต์ด์๋ค.
๋ฌธ์ ์์ ์ฒด์คํ์ W B W B ... / B W B W ... ํํ๋ก ์น ํด์ ธ์ผ ํ๋ค๊ณ ํ๊ธฐ ๋๋ฌธ์ rํ์ ์ง์ ์ธ๋ฑ์ค๋ค์ ๋ฌด์กฐ๊ฑด ์์์ ๊ณผ ์์ด ๊ฐ์์ผ ํ๋ค. ์ฆ cnt1 ๋ณ์๋ ์์์ ์ด 'W'์ผ ๋ ๋ค์ ์น ํด์ผ ํ๋ ์นธ์ ๊ฐ์์ด๊ณ cnt2 ๋ณ์๋ ์์์ ์ด 'B'์ผ ๋ ๋ค์ ์น ํด์ผ ํ๋ ์นธ์ ๊ฐ์์ด๋ค.
cn1, cnt2 ๋ณ์์ ์ญํ ์ ๋ํด ์ธ์งํ ์ํ๋ก line 23์ ๋ณด๋ฉด rํ์ ํ์ ์ธ๋ฑ์ค๋ค์ ๋ฌด์กฐ๊ฑด ์์์ ๊ณผ ์์ด ๋ฌ๋ผ์ผ ํ๊ธฐ ๋๋ฌธ์ line 18์ ์กฐ๊ฑด๋ฌธ๊ณผ 'B', 'W'์ ์์น๊ฐ ๋ฐ๋๊ฒ ๋๋ค.
'Problem Solving > BOJ & Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ] 1789๋ฒ: ์๋ค์ ํฉ (1) | 2024.01.02 |
---|---|
[BOJ] 1475๋ฒ: ๋ฐฉ ๋ฒํธ (1) | 2023.12.03 |
[Programmers] ๋ฌธ์์ด ๋๋๊ธฐ (0) | 2022.12.12 |
[Programmers] ๋ ํ ํฉ ๊ฐ๊ฒ ๋ง๋ค๊ธฐ (0) | 2022.11.23 |
[BOJ] 2493๋ฒ: ํ (0) | 2022.07.18 |