Skip to content

Commit aa28a76

Browse files
committed
[23.01.08/Python] 단지번호붙이기
1 parent f4739aa commit aa28a76

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

Python_BOJ_2023/2667.py

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
n = int(input())
2+
graph = [list(map(int, input())) for _ in range(n)]
3+
visited = [[0 for _ in range(n)] for _ in range(n)]
4+
dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
5+
cnt = 0
6+
7+
def dfs(x, y):
8+
global cnt
9+
visited[x][y] = 1
10+
if graph[x][y] == 1:
11+
cnt += 1
12+
13+
for i in range(4):
14+
nx, ny = x + dx[i], y + dy[i]
15+
if 0 <= nx < n and 0 <= ny < n:
16+
if not visited[nx][ny]:
17+
if graph[nx][ny] == 1:
18+
dfs(nx, ny)
19+
20+
answer = list()
21+
for i in range(n):
22+
for j in range(n):
23+
if graph[i][j] == 1 and not visited[i][j]:
24+
dfs(i, j)
25+
answer.append(cnt)
26+
cnt = 0
27+
28+
print(len(answer))
29+
answer.sort()
30+
for i in answer:
31+
print(i)

0 commit comments

Comments
 (0)