Study/코딩테스트 연습

프로그래머스 dfs/bfs 네트워크 파이썬

soyeonland 2024. 10. 13. 13:59

문제

 

실수

더보기

1. 그래프여서 기계적으로 dx, dy로 접근하였음

2. visited가 당연히 2차원일거라고 생각하고 접근

새로 깨달은것

더보기

1. def 안에 def 적어서 활용하는 방법

from collections import deque


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

    def bfs(start):
        q = deque([start])
        visited[start]=True
        while(len(q)>=1):
            node = q.popleft()
            
            for j in range(n):
                if computers[node][j]==1 and visited[j]==False:
                    q.append(j)
                    visited[j]=True
        
    for i in range(n):
        if visited[i]==False:
            
            bfs(i)
            answer += 1
        #    bfs()

    return answer