y_w2700   5년 전

제 풀이는 입력된 체스판을 8X8 크기로 기준점을 잡고 FOR루프를 통해 다시 칠해야 하는 부분을 세는 방식입니다.

만약 체스판의 크기인 64칸의 반, 32개보다 많은 수정이 필요하다면 그 반대의 경우만 칠하면 된다 생각하여 64(체스판의 총 칸 수)-MIN(수정해야하는 칸의 수)로 출력하였습니다.

예제와 질문 게시판에 있는 예제들을 모두 넣어봐도 잘 된다고 생각이 되는데, 어디가 틀렸는지 모르겠습니다..

djm03178   5년 전

check를 수행할 때마다 tmp와 64 - tmp 중 더 작은 것을 택해야 합니다. 아래와 같은 예시에서 (0,0)에서 시작한 check는 2를 반환하고, (0,1)에서 시작한 check는 63을 반환하는데 이 때 63을 반환한 쪽은 실제로는 1개만 바꾸면 되므로 이쪽이 정답이나 이 코드는 tmp가 2인 상태를 유지하여 2를 출력합니다. 

y_w2700   5년 전

감사합니다!

댓글을 작성하려면 로그인해야 합니다.