Search

๋ฐ•์ˆ˜์ง„

2.๋ฌธ์ œ์ด๋ฆ„
3. ์ˆ˜ํ–‰์‹œ๊ฐ„[์ดˆ(s)]
3600
์ข‹์•„์š” ๋ˆ„๋ฅด๊ธฐ
์ข‹์•„์š” ์ˆ˜
: 0
5 more properties
| ์ฝ”๋“œ ์ž‘์„ฑํ•˜๊ธฐ
def dfs(graph, start): stack = [start] while stack: current = stack.pop() if not visited[current]: visited[current] = True stack.extend(graph[current]) def solution(n, computers): col = len(computers[0]) row = len(computers) graph = {i:[] for i in range(n)} for i in range(row): for j in range(col): if computers[i][j] == 1 and i != j: graph[i] = graph.get(i) + [j] global visited visited = [False for i in range(n)] result = 0 for i in range(n): if not visited[i]: result += 1 dfs(graph, i) return result n = 3 computers1 = [[1, 1, 0], [1, 1, 0], [0, 0, 1]] computers2 = [[1, 1, 0], [1, 1, 1], [0, 1, 1]] print(solution(n, computers2))
Java
๋ณต์‚ฌ
| ์ฝ”๋“œ ์„ค๋ช…ํ•˜๊ธฐ
โ€ข
2์ฐจ์› ๋ฐฐ์—ด์˜ ํ˜•ํƒœ๋ฅผ ๋”•์…”๋„ˆ๋ฆฌ ํ˜•ํƒœ๋กœ ๋ฐ”๊พธ์–ด ์ข€๋” dfs์— ์ตœ์ ํ™”๋˜๊ฒŒ ๋ณ€๊ฒฝํ•ด์ฃผ๊ธฐ
โ€ข
dfs๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ฐฉ๋ฌธ์ง€์ ์˜ ์—ฌ๋ถ€๋ฅผ ๋”ฐ์ ธ ๊ทธ๋ž˜ํ”„ ์ˆœํ™˜
โ€ข
์ด ๋ช‡๋ฒˆ ํƒ์ƒ‰ํ–ˆ๋Š”์ง€๋ฅผ ๊ฒฐ๊ณผ๊ฐ’์— ์ €์žฅํ•ด ๋ฐ˜ํ™˜