행렬 구성 질문 (특정 좌표의 행렬 값들 사이의 행렬 값)

조회수 96회

안녕하세요 파이썬 공부하는 학생입니다.

행렬을 구성하는 코드를 작성 중인데요 막히는 부분이 있어서 질문 드립니다 ㅠㅠ

1번 그림과 같은 행렬이 있을때 현재 0이 위치한 무작위로 1의 값을 추가하여 행렬을 구성하고 싶은데 2 들 끼리는 무조건 1로 연결된 행렬을 구성하고 싶습니다.

예를 들면 2번, 3번 그림처럼 1로 연결되도록 행렬을 구성하고 싶은데 막막합니다...혹시 비슷한 코딩을 해보셨거나 이미지힌트라도 주시면 정말 감사하겠습니다 !! 감사합니다

  • 1 로 경로를 만들라는 말인 것 같은데 어떤 규칙이 있나요? 0을 몽땅 1 로 바꿔도 되나요? daewon 2022.6.11 07:21
  • 우선 2로 이뤄진 덩어리들을 구하시고, 각 덩어리들 간의 연결을 하셔야 겠네요. 문제의 조건이 "두 개의 '2'로 이뤄진 덩어리가 있다"라고 가정하고 말씀 드리면, 우선 배열 전체에 대해서 for loop 돌면서, 2가 발견 되면 DFS든, BFS든 수행해서 덩어리를 구하셔야 됩니다. 이 때 이미 발견한 덩어리는 다시 발견되지 않도록 visited를 가지고 걸러 주셔야 겠고요. 그리고 나서, 찾은 덩어리 두 개에 대해 연결 하는건 조건이 따로 있지 않나요? 두 덩어리에 대해 최단경로로 이어야 한다던지, 1을 최소로 써야 한다던지, 혹은 문제에서 덩어리의 개수가 두 개가 넘을수도 있다던지... 뭐 그런 조건을 말씀 해주셔야 좀 더 자세히 답을 드릴 수 있겠네요. nickeys 2022.6.12 02:12
  • 1. daewon / 네 맞습니다 ! 경로를 구성하는 규칙은 없습니다 ! 0을 몽땅 1로 바꿔도 되요 ! 허웅범 2022.6.13 20:11
  • 2. nickeys / 감사합니다. 두 덩어리 연결하는 조건은 따로 없습니다. 가능한 많은 경우를 다루고 싶어서 기타 조건은 고려하지 않고 있습니다 ! 허웅범 2022.6.13 20:12

1 답변

답변을 하려면 로그인이 필요합니다.

Hashcode는 개발자들을 위한 무료 QnA 사이트입니다. 계정을 생성하셔야만 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 계정을 생성하셔야만 글을 작성하실 수 있습니다.