[프로그래머스] 네트워크 - Swift

이창형·2023년 5월 9일
0

코드

import Foundation

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

회고

  • 기본적인 dfs 문제였지만 문제 이해를 못해서 오래 걸렸던 문제였다
  • 3단계가 처음인데 쉬운걸 풀어서 그런지 자신감이 오른다
profile
iOS Developer

0개의 댓글