import sys
n=int(sys.stdin.readline())
result=0
graph=[]
global count
count=0
count_house=0 # 집이 없는 곳 판별하는 변수
count_list=[]
for i in range(n):
graph.append(list(map(int,input())))
for i in range(n):
for j in range(n):
if graph[i][j]==0:
count_house+=1
def dfs(x,y):
global count
if x<=-1 or x>=n or y<=-1 or y>=n:
return False
if graph[x][y]==1: # 1 발견-> 1의 덩어리 세어보기.
graph[x][y]=0
count+=1
dfs(x-1,y)
dfs(x+1,y)
dfs(x,y-1)
dfs(x,y+1) # 상하좌우 위치 모두 dfs 호출
return True
for i in range(n):
for j in range(n):
if dfs(i,j)==True:
count_list.append(count)
count=0
result+=1
print(result)
count_list.sort()
for i in count_list:
print(i)
if count_house==len(graph*n):
print(0)
- 온갖 짓을 다했는데 계속 틀린다. 현타가 너무 쎄게 와서 나중에 풀도록 남겨두려고 함.
- +이유 찾음. count_list.sort() 해야되는데 빼먹었다. 죽고싶다 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
죽지 마세욧 !