백준 2667번
최종 제출 코드
import sys
input = sys.stdin.readline
n = int(input().rstrip())
array = [input().rstrip() for i in range(n)]
visited = [[False for i in range(n)] for j in range(n)]
result = []
def solution(row, col):
global cnt
if row<0 or row>=n or col<0 or col>=n: return
if visited[row][col] == True or array[row][col] == "0": return
cnt += 1
visited[row][col] = True
solution(row+1,col)
solution(row,col+1)
solution(row,col-1)
solution(row-1,col)
for i in range(n):
for j in range(n):
if array[i][j] == "1" and visited[i][j] == False:
cnt = 0
solution(i,j)
result.append(cnt)
result.sort()
print(len(result))
for i in range(len(result)):
print(result[i])