his130   6년 전

코드 아래와 같이 구현하였습니다.

cal 함수를 통해서 제가 좌표평면을 오른쪽으로 90도 기울였습니다.

bfs를 통해서는 코드 통과가 떴으므로  cal함수 문제는 없을 것입니다.


dfs로 구현하고 있는데

테스트 케이스는 맞는데 9% 정도에서 틀렸다고 나오는데

혹시 코드에 어떤 점이 잘못되었을까요?

문제에서 빗금친 영역은 1로, 칸을 셀수 있는 곳은 0으로 해놓았습니다.

그리고 0중에서도 dfs로 방문한 곳은 check함수를 통해 방문 표시 하였습니다.

djm03178   6년 전

len += 1; 쪽이 이상한 것 같네요. len은 지역변수이기 때문에 이후의 재귀호출에서 더 증가시키더라도 값이 보존이 안 됩니다.

000

0

간단히 이런 상태를 가정해보면, 왼쪽 위에서 출발하여 오른쪽을 먼저 방문하면 len이 2, 3까지 도달하고 다시 돌아올 텐데, 처음 호출된 dfs 입장에서는 여전히 len이 2로 남아있기 때문에 그 다음 아래로 향하더라도 len이 3밖에 되지 못하겠죠.

his130   6년 전

정말 감사합니다!!! 테스트 케이스만 맞다 보니 ..!!

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