hgk0404
hgk0404.tistory
hgk0404

공지사항

전체 방문자
오늘
어제
  • 전체 카테고리 N
    • [컴퓨터비전]
    • [Computer Science]
      • [컴퓨터네트워크]
      • [알고리즘]
      • [자료구조 in C]
      • [C & C++]
      • [이산수학]
      • [Math]
    • [머신러닝]
      • [Numpy, Pandas]
    • [Cloud]
      • [AWS]
      • [NCP]
      • [Kubernetes]
      • [Terraform]
    • [Dev] N
      • [가상환경] N
      • [Linux]
      • [Docker]
    • [Python]
    • [Coding Test]
      • [백준]
      • [프로그래머스]
      • [SQL]
    • [WEB]
    • [자격증, 일상]
    • [엑셀]
    • [금융]

인기 글

최근 글

최근 댓글

250x250
hELLO · Designed By 정상우.
hgk0404

hgk0404.tistory

[백준] 1018: 체스판 다시 칠하기
[Coding Test]/[백준]

[백준] 1018: 체스판 다시 칠하기

2022. 6. 24. 04:16
728x90

https://www.acmicpc.net/problem/1018

 

1018번: 체스판 다시 칠하기

첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다.

www.acmicpc.net

 

 

import sys
def solution():
    n, m = map(int, sys.stdin.readline().split())
    graph = [ list(sys.stdin.readline().strip()) for _ in range(n) ]
    min_repaints = float("inf")
    def count_repaints(start_row, start_col):
        pattern1 = [ "BWBWBWBW", "WBWBWBWB" ] * 4
        pattern2 = [ "WBWBWBWB", "BWBWBWBW" ] * 4
        repaint1, repaint2 = 0, 0
        for i in range(8):
            for j in range(8):
                if graph[start_row + i][start_col + j] != pattern1[i][j]:
                    repaint1 += 1
                if graph[start_row + i][start_col + j] != pattern2[i][j]:
                    repaint2 += 1
        return min(repaint1, repaint2)
    for i in range(n-7):
        for j in range(m-7):
            min_repaints = min(min_repaints, count_repaints(i, j))
    return min_repaints
print(solution())

n-7, m-7을 해주는 이유는 8x8 크기의 체스판을 확인하는 데 시작점을 지정하기 위해서입니다. 이후에 count_repaints() 함수를 실행해서 8x8 크기의 체스판을 탐색합니다.

728x90
저작자표시 동일조건

'[Coding Test] > [백준]' 카테고리의 다른 글

[백준] 2178: 미로 탐색  (0) 2022.06.27
[백준] 7568: 덩치  (0) 2022.06.24
[백준] 2798: 블랙잭  (0) 2022.06.24
[백준] 2231: 분해합  (0) 2022.06.24
[백준] 2869 python(파이썬) : 달팽이는 올라가고 싶다 - 상세해설  (0) 2022.05.20
'[Coding Test]/[백준]' 카테고리의 다른 글
  • [백준] 7568: 덩치
  • [백준] 2798: 블랙잭
  • [백준] 2231: 분해합
  • [백준] 2869 python(파이썬) : 달팽이는 올라가고 싶다 - 상세해설
hgk0404
hgk0404
공부기록

티스토리툴바