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

HL·2021년 2월 5일
0

프로그래머스

목록 보기
5/44

문제 링크

https://programmers.co.kr/learn/courses/30/lessons/43162

문제 설명

  • 컴퓨터 개수 N, 인접 행렬 computers 가 주어짐
  • 연결돼있는 컴퓨터는 하나의 네트워크
  • 네트워크의 개수

풀이

  • 모든 컴퓨터를 돌면서
  • not visited 일 경우 DFS, ans += 1
  • DFS 하면서 visited = True

느낀 점

  • 전에 자바로 풀었던 문제였다
  • 백준 문제를 풀면서 단련이 돼서 쉽게 풀 수 있었다

코드

adj_mat = [[]]
gn = 0
visited = []


def solution(n, computers):
    global adj_mat, gn, visited
    gn = n
    adj_mat = computers
    answer = 0
    visited = [False] * n

    for i in range(n):
        if not visited[i]:
            dfs(i)
            answer += 1
    return answer


def dfs(start):
    visited[start] = True
    for i in range(gn):
        if not visited[i] and adj_mat[start][i]:
            dfs(i)
profile
Frontend 개발자입니다.

0개의 댓글

관련 채용 정보