반응형
📖 문제
📃 코드
def dfs(n, computers, com, visited):
visited[com] = True
# 자기 자신을 제외한 모든 case를 방문했는지 확인
for nx in range(n):
if nx != com and computers[com][nx] == 1:
# 방문하지 않았다면
if visited[nx] == False:
dfs(n, computers, nx, visited)
def solution(n, computers):
answer = 0
visited = [False]*n
# 모든 컴퓨터들을 돌면서 네트워크 체크
for com in range(n):
# 만약 방문하지 않은 컴퓨터라면 dfs실행
if visited[com] == False:
dfs(n, computers, com, visited)
# DFS로 최대한 컴퓨터들을 방문하고 나오면 그것이 하나의 네트워크
answer += 1
return answer
🔗 링크
https://school.programmers.co.kr/learn/courses/30/lessons/43162
'Study & Project ✏️ > 알고리즘 📋' 카테고리의 다른 글
백준[Python] 11724.연결 요소의 개수 - 파이썬 (0) | 2022.11.13 |
---|---|
백준[Python] 1260.DFS와 BFS - 파이썬 (0) | 2022.11.13 |
프로그래머스[Python] 타겟 넘버 - 파이썬 (0) | 2022.11.12 |
백준[Python] 14425.문자열 집합 - 파이썬 (0) | 2022.11.08 |
백준[Python] 10815.숫자 카드 - 파이썬 (0) | 2022.11.08 |