일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 부스트캠프
- 파이썬
- 2021 Dev-matching 웹 백엔드 개발자
- AI Tech 4기
- Django
- 프로그래밍
- 네이버
- boostcourse
- QNA 봇
- 풀스택
- 웹
- 4기
- 장고
- 대회
- 프로그래머스
- 서블릿
- cs50
- Naver boostcamp
- 서버
- P Stage
- 레벨2
- AI Tech
- Customer service 구현
- 구현
- 백엔드
- 백준
- Naver boostcourse
- BOJ
- 웹 프로그래밍
- sts
Archives
- Today
- Total
daniel7481의 개발일지
[프로그래머스]네트워크 본문
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/43162
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
레벨3라고 하기에는 다소 난이도가 쉬운 편이었다. 간단한 BFS로 풀 수 있었는데, 단순히 연결된 네트워크가 몇 개인지 확인하면 되는 문제였다. 0부터 n-1까지 탐색하면서 만약 연결되어 있으면 방문 처리를 하고, 방문 처리가 된 노드는 방문을 하지 않게 하면서, 매 탐색시마다 answer에 하나씩 더해주면 된다.
from collections import deque
def solution(n, computers):
answer = 0
visited = [False for _ in range(n)]
for i in range(n):
if not visited[i]:
answer += 1
q = deque()
q.append(i)
visited[i] = True
while q:
x = q.popleft()
for v in range(len(computers[x])):
if computers[x][v] == 1:
if not visited[v]:
q.append(v)
visited[v] = True
return answer
반응형
'프로그래머스' 카테고리의 다른 글
[프로그래머스]소수 찾기 (0) | 2022.07.31 |
---|---|
[프로그래머스]게임 맵 최단거리 (0) | 2022.07.30 |
[프로그래머스]디스크 컨트롤러 (0) | 2022.07.28 |
[프로그래머스]타겟 넘버 (0) | 2022.07.21 |
[프로그래머스]프린터 (0) | 2022.07.21 |