Menu
CoddyTech

Number of Provinces

n개의 도시가 있으며, 0부터 n-1까지 번호가 매겨져 있습니다. 행의 목록으로 주어진 n × n 행렬 isConnected가 있습니다. 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개입니다.

lock icon제출 시 숨은 테스트 +15개

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