https://www.acmicpc.net/problem/2667
: 연결되어 있는 1들의 그룹에 대해 몇개의 그룹인지, 그룹 당 1의 개수를 도출해내야 하는 문제
N = int(input())
map = [list(map(int,input())) for _ in range(N)]
dx, dy = [-1,0,1,0],[0,-1,0,1]
EachCount = 0 # 그룹 내 1의 개수
result = []
def dfs(x,y):
global EachCount
map[x][y] = 0
EachCount += 1
for i in range(4):
xx, yy = x+dx[i], y+dy[i]
if xx<0 or xx>=N or yy<0 or yy>= N :
continue
if map[xx][yy] == 1 :
dfs(xx,yy)
return EachCount
# (0,0)부터 (N,N)까지 탐색
for i in range(N):
for j in range(N):
if map[i][j] == 1 :
EachCount = 0
result.append(dfs(i,j))
print(len(result))
for i in sorted(result):
print(i)
아래는 틀린 코드입니다
map = [list(map(int,input().split())) for _ in range(N)]
for i in result:
print(i)