jds   5년 전

게시판에 올라와있는 반례를 넣었지만 잘 동작합니다.

처음부터 움직이는 톱니를 계산하고, 움직여야하는 톱니만 위치를 재조정하였습니다.

아무리봐도 틀린부분을 못찾겠네요.

괜찮으시면 반례나 틀린부분을 지적해주시면 감사드리겠습니다.

vegatrash   5년 전

제가 코드를 자세히 보지는 않았는데 혹시나 해서 제가 틀렸던 경험에서 얘기 드리자면

톱니바퀴의 회전이 어느것이 돌아가야하는지 체크'만'하고 체크가 다 끝난 후 돌려야 하는데

혹시 톱니바퀴를 체크하는 단계에서 미리 돌려버리셨나요? 만약 그랬다면 틀리게 나올겁니다..

jds   5년 전

답변 감사드립니다.

체크는 모두 하고 돌렸는데 제가 디버깅을 해보니

122번 라인에서 else를 빠트렸더군요.

복잡하게 코딩을 하니 이런실수가 나오는 것 같습니다.

왼쪽과 오른쪽으로 나누어서 반복문으로 톱니바퀴를 돌릴지말지 결정하는 것으로 코드를 수정하니 

코드가 간결해져서 더 코다가 좋아 진 것 같습니다.

vegatrash   5년 전

재귀로 풀면 40줄 이내로 줄이기도 가능합니다... 심지어 28줄만에 푼 동기도 보긴 했는데 저는 방법을 잘 몰라서...

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