네트워크 - python (programmers)

참치돌고래·2021년 5월 18일
0

알고리즘

목록 보기
3/36
post-custom-banner

네트워크

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

설명

주어진 표에서는 네트워크가 위치하는 좌표에서 링크가 연결되어 있는 것을 1의 값으로 표현하였다. 주어진 연결 링크와 관계없이 자기 자신은 1의 값으로 표현되어있는 것을 확인할 수 있다.

ex) computers[1][1] = 1, computers [2][2]=1...

한번 흝고 간 위치를 별도의 변수를 만들어 표시하는 것이 아니라, 이 부분을 0 값으로 변경하여 표시하였다.

from collections import deque

def solution(n, computers):
    answer = 0
    number=len(computers)
    queue=deque()
    count=[0]
    for x in range(n):
        if computers[x][x] != 0:
            queue.append([computers[x],x])
            
            while queue:
                network, here = queue.popleft()
                for i in range(number):
                    if here==i:
                        continue
                    elif network[i] == 1:
                        computers[i][i]=0
                        queue.append([computers[i],i])
                        computers[i][here] = 0
                    
            answer+=1
    
    return answer
profile
안녕하세요
post-custom-banner

0개의 댓글