백준1018

    [백준,BOJ 1018] 체스판 다시 칠하기(JAVA 구현, 재풀이)

    -내 생각 저번에 풀 때도 어려워서 제대로 풀지 못했던 경험이 있는 문제다. 다시 풀기 위해 이전에 풀었던 풀이를 보았는데, 너무 복잡하다고 생각이 들어서 더 간단하게 푸는 방법이 없을까 생각하며 다른 블로거분들이 작성한 풀이를 참고해보았는데, 아래의 블로그에서 잘 설명하고 있다고 생각해서 따로 링크를 남겨둔다. 방문해서 참고하면 도움이 될 것 같다. [백준] 1018번 : 체스판 다시 칠하기 - JAVA [자바] www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어�� st-lab.tistory.com -해법 import..

    [백준,BOJ 1018] 체스판 다시 칠하기(JAVA 구현)

    -내 생각 이 문제 역시 브루트 포스로 분류되어있는 문제로, 문제 자체의 이해는 완벽하다고 생각했다. 요약하자면, m*n 크기의 보드판이 있을 때, 8*8 크기의 체스판으로 뜯어 냈을 때 규칙에 맞추기 위해 칸의 색을 최소한으로 수정해야 한다는 소린데, 이 과정에서 개인적으로 간과한 부분이 바로 체스판의 (0,0)은 하얀색 또는 검은색으로 시작할 때 시작이 하얀색인 과정에서의 횟수와 검은색일 때 횟수 중 최솟값을 찾는 것이었다. 처음에 나는 보드에서 떼어낸 체스판의 시작만을 보고 규칙과 비교하여 횟수를 반환했는데, 그것이 아니라 체스판의 시작이 무엇이든 두 가지 규칙과 비교해봤어야 했다는 소리다. 말로 설명하기 굉장히 힘든데 예를들어 예제 입력 2에서 8x8의 크기로 체스판을 (0,0) ~ (10 - 8..