알고리즘 4일차

Panther·2021년 7월 9일
0

Algorithm

목록 보기
4/15

문제 출처: https://www.acmipc.net/problem/2606

func find(comNum: Int, networkNum: Int, pairs: [[Int]]) {
    // [[1, 2], [2, 3] … ]
    var net = [[Int]]()
    var intSet = Set<Int>()
    for i in 0..<pairs.count {
        if pairs[i].contains(1) == true {
            net.append(pairs[i])
        } else {

        }
    }
    // [[1, 3], [1, 5]]
    for i in 0..<pairs.count {
        if pairs[i][0] != 1 {
            intSet.insert(pairs[i][0])
        }
        if pairs[i][1] != 1 {
            intSet.insert(pairs[i][1])
        }
    }
    
    // {1, 3, 5}
    for i in 0..<pairs.count {
        for j in 0..< intSet.count {
            if net[i].contains(intSet[j]) == true {
                intSet.insert(pairs[i][0])
                intSet.insert(pairs[i][1])
            }
        }
    }
    
    return intSet.count - 2

}

0개의 댓글