qwert232324   4년 전

사용가능한 문법 내에서 해결하고 싶어서 for문을 이래저래 겹쳐봤더니 너무 지저분해진 것 같습니다...

질문글에 올라온 다양한 테스트 케이스들을 토대로 이것저것 시도해봤지만 다 맞게 뜨는데 어떠한 반례가 있는지 모르겠습니다 ㅜㅜ 도와주실 선배님들 계신가요..!

seico75   4년 전

반례입니다.

8 8
BBWBWBWB
BWBWBWBW
WBWBWBWB
BWBWBWBW
WBWBWBWB
BWBWBWBW
WBWBWBWB
BWBWBWBW

첫문자가 B인지 W인지로 각 경우에 대해서 바꿀칸 수를 B/W각각으로 시작하는 경우를 세려고 하신 것 같은데, 

결국 셀때에는 첫문자를 포함해서 세기 떄문에 추가로 1를 더 해줄 필요가 없습니다.

그러고나면 17라인부터와 50라인부터의 차이가 없어지고 그러면 굳이 첫문자를 볼 필요도 없습니다.

28라인 39라인도..

또하나 더 이야기 드리면

B로 시작하는 체스판을 만들경우 다시 칠할 칸수와 

W로 시작하는 체스판을 만들경우 다시 칠할 칸수의 합은 8*8=64입니다.  

따라서 4개를 쓰셨던 이중for문은 1개만 쓰셔도 가능합니다.

qwert232324   4년 전

cnt+1 부분은 코드 수정하던 와중에 잘못 올렸던게 그대로 올라갔네요 ㅎㅎ ㅜㅜㅜㅜㅜㅜ 생각해 보니까 B와 W를 굳이 나눌 이유가 없었네요!

for문 개수를 줄이고 정답 맞추는데 성공했습니다 ㅎㅎ 감사합니다.

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