풀이 1
n
,
m=
map
(
int
,
input
()
.split
())
board=
list
()
for
i
in
range
(
n
):
board.append
(
input
())
min_numbers=
[]
for
i
in
range
(
n
-7
):
for
j
in
range
(
m
-7
):
cnt1 =
0
cnt2 =
0
for
k
in
range
(
i
,
i+
8
):
for
l
in
range
(
j
,
j +
8
):
체스판 규칙에 따라서#
(k+ㅣ)%2가 0인 board[k][j]는 모두 a색이어야 하고#
(k+ㅣ)%2가 1인 board[k][j]는 모두 b색이어야 한다.#
if
(
k + l
)
%
2
==
0
:
if
board
[
k
][
l
]
!=
‘W’
:
cnt1 +=
1
else
:
cnt2 +=
1
else
:
if
board
[
k
][
l
]
!=
‘B’
:
cnt1 +=
1
else
:
cnt2 +=
1
(
cnt1
,
end=
‘|||’
)
(
cnt2
)
좀더 똑똑하게푸는법
board에서 자른 8*8크기를 각각
w로시작하는 체스판으로 채우는수 + B로 시작하는 체스판으로 채우는 수= 항상 64이다
n
,
m=
map
(
int
,
input
()
.split
())
board=list()#
for i in range(n):#
board.append(input())#
minnum=
64
for
i
in
range
(
n
-7
):
for
j
in
range
(
m
-7
):
cnt =
0
for
k
in
range
(
i
,
i+
8
):
for
l
in
range
(
j
,
j +
8
):
if
(
k + l
)
%
2
==
0
:
if
board
[
k
][
l
]
!=
‘W’
:
cnt +=
1
else
:
if
board
[
k
][
l
]
!=
‘B’
:
cnt +=
1
if
cnt>=
32
:
cnt=
64
-cnt
minnum=
min
(
cnt
,
minnum
)
(
minnum
)
혹시나 입력하기귀찮을까봐
board=
[
‘BBBBBBBBWBWBW’
,
‘BBBBBBBBBWBWB’
,
‘BBBBBBBBWBWBW’
,
‘BBBBBBBBBWBWB’
,
‘BBBBBBBBWBWBW’
,
‘BBBBBBBBBWBWB’
,
‘BBBBBBBBWBWBW’
,
‘BBBBBBBBBWBWB’
,
‘WWWWWWWWWWBWB’
,
‘WWWWWWWWWWBWB’
]