ํฐ์คํ ๋ฆฌ ๋ทฐ
algorithm/baekjoon
[๋ฐฑ์ค] 1018. ์ฒด์คํ ๋ค์ ์น ํ๊ธฐ / python ํ์ด์ฌ
jen jen 2021. 4. 8. 01:03728x90
๐ฉ ๋ธ๋ฃจํธํฌ์ค
thinking
W๋ก ์์ํ๋ ๊ฒฝ์ฐ
โพ WBWBWBWB -> W๋ก ์์ํ๋๋ฐ ์ฒซ๋ฒ์งธ์นธ์ด W๊ฐ ์๋๋ฉด ๋ค์ ์น ํด์ผํจ
โพ BWBWBWBW -> W๋ก ์์ํ๋๋ฐ ๋๋ฒ์งธ์นธ์ด B๊ฐ ์๋๋ฉด ๋ค์ ์น ํด์ผํจ
B๋ก ์์ํ๋ ๊ฒฝ์ฐ
โพ BWBWBWBW -> B๋ก ์์ํ๋๋ฐ ์ฒซ๋ฒ์งธ์นธ์ด B๊ฐ ์๋๋ฉด ๋ค์ ์น ํด์ผํจ
โพ WBWBWBWB -> B๋ก ์์ํ๋๋ฐ ๋๋ฒ์งธ์นธ์ด W๊ฐ ์๋๋ฉด ๋ค์ ์น ํด์ผํจ
⇒ WBWB or BWBW๊ฐ ๋ฒ๊ฐ์๊ฐ๋ฉด์ ๋์ค๋๊น ํ+์ด ์ธ๋ฑ์ค์ ํฉ์ 2๋ก ๋๋ ๋๋จธ์ง๋ก ์๊ฐ (0101 ์ด๋ฐ์์ผ๋ก)
์ฝ๋
N, M = map(int, input().split()) # N:ํ M:์ด
a = [list(input()) for _ in range(N)]
res = []
# 8x8 ์ฒด์คํ ํ์
for i in range(N-7):
for j in range(M-7):
w_cnt, b_cnt = 0, 0 # w_cnt:W๋ก ์์ํ ๋ ๋ค์ ์น ํด์ผํ๋ ๊ฐ์, b_cnt:B๋ก ์์ํ ๋ ๋ค์ ์น ํด์ผํ๋ ๊ฐ์
for k in range(i, i+8):
for l in range(j, j+8):
if (k+l) % 2 == 0: # ํ+์ด ์ธ๋ฑ์ค์ ๋๋จธ์ง๋ก ์ ๊ทผ
if a[k][l] != 'W': # W๋ก ์์ํ๋๋ฐ ์ฒซ๋ฒ์งธ์นธ์ด W๊ฐ ์๋๋ฉด ๋ค์ ์น ํด์ผํจ
w_cnt += 1
if a[k][l] != 'B':
b_cnt += 1
else:
if a[k][l] != 'B': # W๋ก ์์ํ๋๋ฐ ๋๋ฒ์งธ์นธ์ด B๊ฐ ์๋๋ฉด ๋ค์ ์น ํด์ผํจ
w_cnt += 1
if a[k][l] != 'W':
b_cnt += 1
res.append(w_cnt)
res.append(b_cnt)
print(min(res))
ํ์คํ๊ธฐ
๋๋จธ์ง ์ ๊ทผ์ ๊ธฐ์ตํ์
'algorithm > baekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 1074. Z / python ํ์ด์ฌ (0) | 2021.04.08 |
---|---|
[๋ฐฑ์ค] 2630. ์์ข ์ด ๋ง๋ค๊ธฐ / python ํ์ด์ฌ (0) | 2021.04.08 |
[๋ฐฑ์ค] 2164. ์นด๋2 / python ํ์ด์ฌ (0) | 2021.04.08 |
[๋ฐฑ์ค] 15649. N๊ณผ M (1) / python ํ์ด์ฌ (0) | 2021.04.08 |
[๋ฐฑ์ค] 2798. ๋ธ๋์ญ / python ํ์ด์ฌ (0) | 2021.04.08 |
๋๊ธ
๊ธ ๋ณด๊ดํจ
TAG
- react
- Python
- ํ๋ก๊ทธ๋๋จธ์ค
- ํ์ด์ฌ
- 20056 ๋ง๋ฒ์ฌ ์์ด์ ํ์ด์ด๋ณผ
- ์ผ์ฑ์ฝํ
- git ๋ฏธ๋ฌ๋ง
- ๋ฐฑ์ค
- BFS
- ๋ณด์์ผํ
- dfs
- 17406 ๋ฐฐ์ด๋๋ฆฌ๊ธฐ4
- 2579 ๊ณ๋จ์ค๋ฅด๊ธฐ
- ์๊ณ ๋ฆฌ์ฆ
- ์ผ์ฑ๊ธฐ์ถ
- 21609 ์์ด ์คํ๊ต
- ๋ธ๋ฃจํธํฌ์ค
- merge ์๋ฌ
- swea
- 20057 ๋ง๋ฒ์ฌ ์์ด์ ํ ๋ค์ด๋
- dp
- merge์๋ฌ
- ์์ด๋๋ง์๊ธฐ
- 2018 ์นด์นด์ค ๊ณต์ฑ
- ๊ธฐ์ง๊ตญ์ค์น
์ต๊ทผ์ ์ฌ๋ผ์จ ๊ธ
- Total
- Today
- Yesterday
์ต๊ทผ์ ๋ฌ๋ฆฐ ๋๊ธ