Menu
CoddyTech

Number of Provinces

n개의 도시가 있으며, 각 도시에는 0부터 n-1까지 번호가 매겨져 있습니다. isConnected[i][j]는 도로가 도시 i와 도시 j를 직접 연결하면 1이고, 그렇지 않으면 0입니다. 도로는 양방향으로 통행할 수 있으므로 행렬은 대칭이며, 모든 도시는 자기 자신과 연결되어 있습니다.

주는 다른 도시를 거치거나 직접 서로 도달할 수 있고, 그룹 밖으로 이어지는 도로가 없는 도시들의 집합입니다. 주의 개수를 반환하세요.

함수

findCircleNum(isConnected: integer-2d-array) → integer
isConnectedinteger-2d-array
n × n 행렬로, 도로가 두 도시를 직접 연결하는 곳에는 1
반환값integer
주의 개수

제약 조건

  • 1 ≤ n ≤ 150, 여기서 n = isConnected.length
  • isConnected[i].length = n
  • isConnected[i][j]는 0 또는 1입니다
  • isConnected[i][i] = 1
  • isConnected[i][j] = isConnected[j][i]

예제

입력
isConnected = [[1, 0, 0, 1], [0, 1, 1, 0], [0, 1, 1, 0], [1, 0, 0, 1]]
출력
2
설명
도시 0은 도시 3으로 가는 도로가 있고, 도시 1은 도시 2로 가는 도로가 있습니다. 두 쌍 사이를 잇는 도로는 없으므로, 주는 2개입니다.
challenge icon

후속 질문

이제 각 도로는 정해진 날에 개통됩니다. 모든 도시가 하나의 주에 속하게 되는 첫날을 찾을 수 있나요?

코드 초기화
def findCircleNum(isConnected):
    # 여기에 코드를 작성하세요

테스트 #1

테스트 #2

인자

isConnected = [[1, 0, 0, 1], [0, 1, 1, 0], [0, 1, 1, 0], [1, 0, 0, 1]]

예상 출력

2