DevYoon
[ํ๋ก๊ทธ๋๋จธ์ค] ๋คํธ์ํฌ (Python) ๋ณธ๋ฌธ
link ๐ https://programmers.co.kr/learn/courses/30/lessons/43162
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๋คํธ์ํฌ
๋คํธ์ํฌ๋ ์ปดํจํฐ ์ํธ ๊ฐ์ ์ ๋ณด๋ฅผ ๊ตํํ ์ ์๋๋ก ์ฐ๊ฒฐ๋ ํํ๋ฅผ ์๋ฏธํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ปดํจํฐ A์ ์ปดํจํฐ B๊ฐ ์ง์ ์ ์ผ๋ก ์ฐ๊ฒฐ๋์ด์๊ณ , ์ปดํจํฐ B์ ์ปดํจํฐ C๊ฐ ์ง์ ์ ์ผ๋ก ์ฐ๊ฒฐ๋์ด ์
programmers.co.kr
1๏ธโฃ check ๋ฐฐ์ด์ ํ์ฉํ์ฌ ๊ฐ ๊ตฌํ๊ธฐ
def solution(n, computers):
cnt = 1
check = [0]*n
def dfs(now):
nonlocal cnt
for j in range(n):
if computers[now][j] == 1 and check[j] == 0:
check[j] = cnt
dfs(j)
for idx in range(n):
if check[idx] == 0:
check[idx] = cnt
dfs(idx)
cnt += 1
answer = max(check)
return answer