텃밭 = [[0, 0, 0, 0, 0], [0, 1, 0, 0, 0], [0, 1, 0, 0, 0], [0, 0, 1, 0, 0], [0, 0, 0, 1, 0]] #역전된 상태의 텃밭 # 텃밭 = [[1, 1, 1, 1, 1], # [1, 0, 1, 1, 1], # [1, 0, 1, 1, 1], # [1, 1, 0, 1, 1], # [1, 1, 1, 0, 1]] #역전된 상태의 텃밭의 합 # 텃밭 = [[1, 1, 1, 1, 1], # [1, 0, 1, 2, 2], # [1, 0, 1, 2, 3], # [1, 1, 0, 1, 2], # [1, 2, 1, 0, 1]] def solution(텃밭): 넓이 = len(텃밭[0]) 높이 = len(텃밭) 텃밭합 = [[0] * 넓이 for i in range(len(텃밭))] for i in range(0, 높이): for j in range(0, 넓이): if 텃밭[i][j] == 0: 텃밭합[i][j] = 1 else: 텃밭합[i][j] = 0 for i in range(1, 높이): for j in range(1, 넓이): if 텃밭합[i][j] == 1: 텃밭합[i][j] = min(텃밭합[i-1][j-1], min(텃밭합[i-1][j], 텃밭합[i][j-1])) + 1 maxValue = 0 x = 0 y = 0 for i in range(0, 높이): for j in range(0, 넓이): if maxValue < 텃밭합[i][j]: maxValue = 텃밭합[i][j] x = i y = j print(maxValue, x, y) print(maxValue, 'X', maxValue) for i in range(x - (maxValue - 1), x + 1): for j in range(y - (maxValue - 1), y + 1): 텃밭[i][j] = '#' return 텃밭 solution(텃밭)