1. 프로그래머스 - 문자열 나누기
from collections import deque
def solution(land):
answer = 0
land_r = len(land)
land_c = len(land[0])
for j in range(land_c):
visited = [[0 for _ in range(len(land[0]))] for k in range(land_r)]
for i in range(land_r):
if land[i][j] == 1:
dr = [-1, 1, 0, 0]
dc = [0, 0, -1, 1]
Q = deque([[i, j]])
visited[i][j] = 1
while Q:
r, c = Q.popleft()
for q in range(4):
nr = r + dr[q]
nc = c + dc[q]
if 0 <= nr < len(land) and 0 <= nc < len(land[0]):
if land[nr][nc] == 1 and visited[nr][nc] == 0:
visited[nr][nc] = 1
Q.append([nr, nc])
cnt = 0
for l in range(len(visited)):
cnt += sum(visited[l])
if cnt > answer:
answer = cnt
return answer