celestial   2년 전

로직에 뭔가 틀린 것 같다는 생각이 들지 않는데

틀린다는건 뭔가 문제가 있다는 얘기이겠죠...?ㅜㅜㅜ

혹시 지적해주실 분 계신가요?

제 코드는 일단 범위 검사를 한 다음

첫번째가 B인 경우, W인 경우를 나눠서 테스트 배열을 결정하고 

그에 맞는 완성된 배열(criteria)와 비교하여 

다른 배열 원소가 발견될 때마다 recount++를 해주고 return하는 방식을 택했습니다. 

bearsff   2년 전

비교를 위해서 만드시는 criteria가 2가지인데 (B로시작, W로 시작) 둘 중에 어느 것으로 바꿔야지 색을 다시 칠하는 (recount)가 최소가 되는지 판단하는게 없습니다.

반례는

8 8
BBWBWBWB
BWBWBWBW
WBWBWBWB
BWBBBWBW
WBWBWBWB
BWBWBWBW
WBWBWBWB
BWBWBWBW

답: 2

오류답:  62

이 반례 같은 경우에는 W로 시작하는 criteria로 만들어야지 rcount가 최소가 되는데, 질문자님의 코드대로면 B로 시작하는 criteria로 만들어서 답이 틀리게 되는 것 같습니다.

celestial   2년 전

@bearsff 님, 댓글 감사합니다.

네, 저도 어제 다시 봐봤는데 함수 안에서는 로직이 틀리진 않았는데

메인에서 함수 인자를 넘길 때 시작점이 B이면 B를 기준으로, W이면 W만을 기준으로 rcount를 세도록 짜놔서

문제가 발생했다는 것을 깨달았네요ㅜㅜㅜ 

다시 한 번 댓글 감사드립니다.!! 

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