1일 1PS 91일차!

📚 문제


[Level 3] - 네트워크

💡 풀이 과정


  • BFS, DFS 를 통한 분리 문제이다.
    • visited 를 통해 모든 경우의 수에 방문하면서 bfs, dfs 를 사용해 분리한다.
    • 전체 경우에 대해서 visited 를 생성한다.
    • 전체 경우는 모두 순회한다.
    • 현재 i 가 방문되지 않았다면 answer 를 +1 하고 dfs 를 통해 방문가능한 노드를 모두 방문한다.

📌포인트


💻 코드


def solution(n, computers):
    answer = 0
    visited = [False for _ in range(n)]

    for i in range(n):
        if visited[i]:
            continue

        answer += 1

        stack = []
        stack.append(i)
        visited[i] = True
        while stack:
            node = stack.pop()
            for j in range(len(computers[node])):
                if computers[node][j] == 1 and not visited[j]:
                    stack.append(j)
                    visited[j] = True

    return answer

업데이트:

댓글남기기