취준시절/백준

[백준 2667] Python - 단지번호붙이기

MAYMIN 2021. 8. 24. 14:54
728x90
SMALL
directions = [[0,1],[0,-1],[1,0],[-1,0]]

def dfs(x,y):
    global housecnt
    recMap[x][y]=0
    housecnt+=1
    for i in directions:
        nx = x+i[0]
        ny = y+i[1]

        if 0<=nx<n and 0<=ny<n:
            if recMap[nx][ny]==1:
                dfs(nx,ny)


n = int(input())
recMap = list()
for _ in range(n):
    recMap.append(list(map(int,input())))
result = list()
for i in range(n):
    for j in range(n):
        if recMap[i][j]==1:
            housecnt=0
            dfs(i,j)
            result.append(housecnt)
print(len(result))
result.sort()
for i in result:
    print(i)
728x90
LIST