[알고리즘] Swift -프로그래머스 연습문제 #43162(네트워크)

2023. 11. 9. 15:53ALGORITHM/Swift

728x90
반응형

문제링크

 

 

 

 

분석

컴퓨터 에이와 비가 직접적으로 연결되어있고

 비와 씨가 직접적으로 연결되어있을 때 에이와 씨도 간접적으로 연결되어 정보를 교환할 수 있다

 

 컴퓨터의 수 n 연결에 대한 정보가 담긴 2차원배열이 주어질 때

 네트워크의 개수구하기

 

풀이

func solution(_ n:Int, _ computers:[[Int]]) -> Int {
    var count: Int = 0
    var check = Array(repeating: false, count: n)
 
    func dfs(_ num: Int) {
        check[num] = true
        
        for i in 0..<n {
            if !check[i] && computers[num][i] == 1 {
                dfs(i)
            }
        }
    }
 
    for i in 0..<n {
        if !check[i] {
            count += 1
            dfs(i)
        }
    }
 
    return count
}

 

결과

 

 

 

 


📂  정리

연결된 간선을 구하는 문제

 

 

 

 

 

728x90
반응형