From 26d0a1038a591fcc626ade186c0999bc42dfe0c5 Mon Sep 17 00:00:00 2001 From: yoouyeon Date: Mon, 2 Feb 2026 14:58:16 +0900 Subject: [PATCH] =?UTF-8?q?=F0=9F=92=A1=20=ED=94=84=EB=A1=9C=EA=B7=B8?= =?UTF-8?q?=EB=9E=98=EB=A8=B8=EC=8A=A4=2043162=20-=20=EB=84=A4=ED=8A=B8?= =?UTF-8?q?=EC=9B=8C=ED=81=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...44\355\212\270\354\233\214\355\201\254.js" | 37 +++++++++++++++++++ Programmers/README.md | 1 + 2 files changed, 38 insertions(+) create mode 100644 "Programmers/Level3/43162_\353\204\244\355\212\270\354\233\214\355\201\254.js" diff --git "a/Programmers/Level3/43162_\353\204\244\355\212\270\354\233\214\355\201\254.js" "b/Programmers/Level3/43162_\353\204\244\355\212\270\354\233\214\355\201\254.js" new file mode 100644 index 0000000..210681d --- /dev/null +++ "b/Programmers/Level3/43162_\353\204\244\355\212\270\354\233\214\355\201\254.js" @@ -0,0 +1,37 @@ +/* +⭐️ 문제 정보 ⭐️ +문제 : 43162 - 네트워크 +레벨 : Level 3 +링크 : https://school.programmers.co.kr/learn/courses/30/lessons/43162 +*/ + +function solution(n, computers) { + let answer = 0; + const visited = new Uint8Array(n); + + function bfs(start) { + const queue = [start]; + let head = 0; + visited[start] = 1; + + while (head < queue.length) { + const cur = queue[head++]; + + for (let next = 0; next < n; next++) { + if (computers[cur][next] === 0) continue; + if (visited[next]) continue; + + visited[next] = 1; + queue.push(next); + } + } + } + + for (let start = 0; start < n; start++) { + // 이미 어떤 네트워크에 속해 있는 경우는 제외한다. + if (visited[start]) continue; + bfs(start); + answer++; // bfs 1번 = 네트워크 하나. + } + return answer; +} diff --git a/Programmers/README.md b/Programmers/README.md index fb90a10..4d8ca37 100644 --- a/Programmers/README.md +++ b/Programmers/README.md @@ -41,6 +41,7 @@ | 42840 | 모의고사 | [42840_모의고사.js](Level1/42840_모의고사.js) | [🔗](https://school.programmers.co.kr/learn/courses/30/lessons/42840) | | 42888 | 오픈채팅방 | [42888_오픈채팅방.js](Level2/42888_오픈채팅방.js) | [🔗](https://school.programmers.co.kr/learn/courses/30/lessons/42888) | | 42889 | 실패율 | [42889_실패율.js](Level1/42889_실패율.js) | [🔗](https://school.programmers.co.kr/learn/courses/30/lessons/42889) | +| 43162 | 네트워크 | [43162_네트워크.js](Level3/43162_네트워크.js) | [🔗](https://school.programmers.co.kr/learn/courses/30/lessons/43162) | | 49993 | 스킬트리 | [49993_스킬트리.js](Level2/49993_스킬트리.js) | [🔗](https://school.programmers.co.kr/learn/courses/30/lessons/49993) | | 49994 | 방문 길이 | [49994_방문_길이.js](Level2/49994_방문_길이.js) | [🔗](https://school.programmers.co.kr/learn/courses/30/lessons/49994) | | 60057 | 문자열 압축 | [60057_문자열_압축.js](Level2/60057_문자열_압축.js) | [🔗](https://school.programmers.co.kr/learn/courses/30/lessons/60057) |