wogus23   3년 전

게시판 반례중 데이터크기가 아주 큰 반례가 있습니다.

다른반례는 다 통과했는데 저는 그 반례만 계속 틀려서 코드를 곱씹어보다 틀린점을 발견하여 저 같으신 분들 있으실까봐 도움을 드리고자 합니다.

고려사항

1.문제에서의 동서남북과 본인의 코드 동서남북 왼쪽 오른쪽 회전이 논리적으로 일치하는가?

2. 현재 방향으로1,2,3칸을 갈 수있는데 만약 첫 번째칸은 0,두 번째 칸은 1, 세 번째 칸은 0 이라고 하면 첫 번째 칸 까지밖에 가지 못합니다.

3.180회전할 때 명령어 2번이 잘 카운팅이 되는가?

4.저는 목표점에 도착하고 return하는 방식으로 하지않고 목표방향과 일치하는지 검증 후 값을 갱신해주고 continue하는 식으로 했습니다.간간히 return 방식으로 하시는 분들이 계신데 (저도 코린이라 잘 모릅니다만)본인의 논리대로 도착시 바로 return한 값이 최소값이라는 보장이 있는지 다시 생각해 보세요.

5.입력 행,열 은 1<=i,j<=row,col입니다.런타임에러 뜨시는 분들은 index 범위를 고려하였는지 확인해 보세요.

6.저는 이 부분을 간과했었는데 현재 방향에서 시계방향으로 회전하도록 구현했었는데 이렇게 하면 문제가 있습니다

예시로 남쪽을 바라보고 있는 상태에서 동쪽방향으로 회전하려면 회전1번이면 충분하지만 시계방향으로 회전시 3번 회전하게 됩니다.

마지막으로 제가 잘해서 이런글을 올리는게 아니고 (코린이입니다)대부분 자신의 힘으로 구현했으나 작은 논리오류때문에 힘들어 하시는 분들이 계실까봐 글써요~

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