


코딩테스트 연습 - 네트워크 | 프로그래머스 스쿨 (programmers.co.kr)
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
나의 코드
from collections import deque
def solution(n, computers):
answer = 0
# 연결된 네트워크 딕셔너리
networt = {}
for i in range(len(computers)):
#print(computers[i])
networt[i+1] = []
for j in range(len(computers[0])):
if computers[i][j] == 1 and j!=i:
networt[i+1].append(j+1)
#print(networt)
# 방문처리 해주면서 연결된 네트워크 집합 개수를 구한다
visit = [0]*n
count = 0
for i in range(1, n+1):
if visit[i-1] == 1:
continue
count += 1
queue = deque()
queue.append((i,networt[i]))
while queue:
x,y = queue.popleft()
visit[x-1] = 1
for z in y:
if visit[z-1]==0 and z in networt:
queue.append((z,networt[z]))
#print(count)
answer = count
return answer
solution(3, [[1, 1, 0], [1, 1, 1], [0, 1, 1]])
'코딩테스트 파이썬 > 파이썬 프로그래머스 3단계' 카테고리의 다른 글
| Softeer 연습문제(3단계) - 성적 평균 (0) | 2024.06.24 |
|---|---|
| Softeer 연습문제(1단계) - 연탄 배달의 시작 (0) | 2024.06.24 |
| Softeer 연습문제(3단계) - 택배 마스터 광우 (0) | 2024.06.24 |
| 단어 변환 (0) | 2023.10.25 |