728x90
< 처음 풀 때 >
수학적 방식이 아닌 64개의 문자만 체크 하면 되기에 문자열을 직접 구해서 계산하려고 했으나 8X8 의 체스판을 구하는 과정에서 막혔다.
< 해결 방법 >
체스판을 구하는 부분에서 여전히 막혀서 다른 사람의 풀이를 참조했다. set 의 차이를 이용해서 다른 값의 개수를 구했고 다행히 시간 초과 없이 답은 잘 나왔다.
import sys
a,b = map(int,sys.stdin.readline().rstrip().split(" "))
k = [ ]
def check(n):
one = 'WBWBWBWBBWBWBWBWWBWBWBWBBWBWBWBWWBWBWBWBBWBWBWBWWBWBWBWBBWBWBWBW'
two = 'BWBWBWBWWBWBWBWBBWBWBWBWWBWBWBWBBWBWBWBWWBWBWBWBBWBWBWBWWBWBWBWB'
q = 0
w = 0
for i in range(0,len(list(n))):
if n[i] != list(one)[i]:
q+=1
if n[i] != list(two)[i]:
w+=1
return min(q,w)
for i in range(0,int(a)):
k.append(sys.stdin.readline().rstrip())
ans = 1000
for i in range(a-7):
for j in range(b-7):
m = ""
for q in range(i, i+8):
for w in range(j, j+8):
m += k[q][w]
answer = check(m)
if answer<ans:
ans = answer
print(ans)728x90
'🟢 알고리즘 문제 풀이 > Baekjoon' 카테고리의 다른 글
| [파이썬] 백준 1463 1로 만들기 (0) | 2022.08.17 |
|---|---|
| [파이썬] 백준 1912 연속합 (0) | 2022.08.16 |
| [파이썬] 백준 2477 참외밭 (0) | 2022.08.05 |
| [파이썬] 백준 1620 나는야 포켓몬 마스터 이다솜 (0) | 2022.08.04 |
| [파이썬] 백준 10816 숫자 카드 2 (0) | 2022.08.03 |