정구리의 우주정복

[BOJ] 1018번 - 체스판 다시 칠하기 파이썬 본문

ALGORITHM/SOLVE

[BOJ] 1018번 - 체스판 다시 칠하기 파이썬

Jungry_ 2020. 5. 22. 23:26
반응형

#파이썬으로 품

##분명 나보다 좋은 코드가 더 많이 있을거임

#8*8 체스판을 만들거임
#아무데서나 선택해서 만들거다  m*n 사이즈의 보드임

white_board = [['W','B','W','B','W','B','W','B'],
            ['B','W','B','W','B','W','B','W'],
            ['W','B','W','B','W','B','W','B'],
            ['B','W','B','W','B','W','B','W'],
            ['W','B','W','B','W','B','W','B'],
            ['B','W','B','W','B','W','B','W'],
            ['W','B','W','B','W','B','W','B'],
            ['B','W','B','W','B','W','B','W']]

black_board = [['B','W','B','W','B','W','B','W'],
            ['W','B','W','B','W','B','W','B'],
            ['B','W','B','W','B','W','B','W'],
            ['W','B','W','B','W','B','W','B'],
            ['B','W','B','W','B','W','B','W'],
            ['W','B','W','B','W','B','W','B'],
            ['B','W','B','W','B','W','B','W'],
            ['W','B','W','B','W','B','W','B']]
n,m = map(int,input().split())
board = []
result = []

for i in range(n):
    wb = list(map(str,input()))
    board.append(wb)

for j in range(m-7):
    q = 0
    w = 0
    for k in range(n-7):
        count_black = 0
        count_white = 0
        for l in range(j,j+8):
            for x in range(k,k+8):
                if board[x][l] != white_board[q][w]:
                    count_white +=1
                if board[x][l] != black_board[q][w]:
                    count_black +=1
                w+=1
            w = 0
            q+=1
        q = 0
        result.append(count_black)
        result.append(count_white)
print(min(result))

 

나는 만들어져야할 체스판(블랙,화이트) 를 미리 만들어 놓고 이것과 비교하는 방법으로 풀었다 

for 문을 통해 만들어질수 있는 모든 8*8 배열들을 검사해서 결과를 list 에 넣어준뒤에 마지막에 최소값을 출력해주는 방식을 썼따

 

내가 만들고 싶었던건 (0,0) 에 오는 좌표에 따라서 둘루루루 바꿔주는걸 만들고 싶었지만 실패했다 ㅜㅜ 

반응형
Comments