bej2ny8   3년 전

좌표대로 1을 찍은, 그외에는 0을 찍은 field를 만든 뒤에 field가 1이라면 인접한 부분의 field를 찾아가면서 벌레의 개수를 찾는 DFS를 생각했는데 33%에서 계속 오답처리가 됩니다.

나름 완벽하게 짠 것 같은데 어느 부분이 틀렸는지 모르겠네요...

dldyddlwl   3년 전

아래에 있습니다.

표시해둔 부분이 전체 if문인 != 0 조건에 가려져선 안되는 이유는, 

만약에 stack에 같은 것이 중복해서 들어가졌다고 합시다. ( 스택에 방문조건 없이 바로 넣으므로 중복 발생 가능) 

그러면, 먼저 빠져나오는 친구가 0으로 바뀌면서, 뒤에 있는 친구의 값도 0이 됩니다.

그런데 뒤에 나온 친구의 순서가 왔을 때, 기존의 조건(0이 아니다)으로는 스택에서 pop도 되지 못하므로, 문제가 생기게 됩니다.

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