danielkang1003   4년 전

  • (i, 1)은 (i, 2), (i, M)과 인접하다.
  • (i, M)은 (i, M-1), (i, 1)과 인접하다.
  • (i, j)는 (i, j-1), (i, j+1)과 인접하다. (2 ≤ j ≤ M-1)
  • (1, j)는 (2, j)와 인접하다.
  • (N, j)는 (N-1, j)와 인접하다.
  • (i, j)는 (i-1, j), (i+1, j)와 인접하다. (2 ≤ i ≤ N-1)

이부분에서 문제가 있는 걸까요ㅠㅠ 답이 26나와야하는데 36이 나오네요ㅠㅠㅠㅠ

44번 줄에 lookAround() 함수에서 양옆 확인하고 양 끝 확인하도록 했는데 어디가 문제인걸까요...ㅠㅠ

계속 틀린 부분을 찾으려고 문제를 붙잡고 있는데 더이상 머리가 안돌아가네요...

어디가 문제인지 한번만 봐주시면 정말 너무 감사드리겠습니다ㅠㅠ

wptmd0918   4년 전

아마 0으로 변경해주는 부분에서 오류가 나는 것 같습니다. 같으면 i, j를 확인하는데 i, j+1까지 0으로 만들어 주게 되면 i, j+1과 인접한 i, j+2와 같은 수들은 체크하지 못하게 됩니다...

그래서 일단 같은 수들을 모두 체크해 한번에 0으로 변경해주는 과정이 필요합니다. 아니면 다른 map을 하나 더 만들어 그 부분을 0을 만들어 대입하는 방법이 필요합니다. 

저는 bfs방법을 통해 같은 값을 가지는 것들을 방문하여 0으로 만들 수 있게 하였습니다. 

danielkang1003   4년 전

ㅠㅠ답변 감사드립니다! 

맵을 하나 더 만들어서 한번에 0으로 변경해주는 과정으로 시도 해보도록 하겠습니다!!

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