감을 못잡다가 반으로 나눠서 구해야하는 면적이 늘어날때와 줄어들때를 따로 구했다.
인덱스를 주는 부분에서 실패했고 결국 다른 풀이를 보게되었다.
t=int(input())
for i in range(t):
n = int(input())
board = [list(map(int,input())) for _ in range(n)]
start = n//2 #시작은 무조건 행의 중앙에서 시작하기때문에 시작점 끝점 똑같이
end = n//2
sum = 0
a=0
while a<n:
for b in range(start, end+1):
sum += board[a][b]
print(sum)
if a<(n//2):
start -= 1
end += 1
else:
start += 1
end -= 1
a+=1
print("#{} {}".format(i+1, sum))
다시 푼 코드
t = int(input())
for i in range(t):
n = int(input())
board = [list(map(int,input())) for _ in range(n)]
start = n//2
end = n//2
sum = 0
for a in range(n):
for b in range(start, end+1):
sum += board[a][b]
if a >= n//2:
start+=1
end-=1
else:
start -= 1
end += 1
print("#{} {}".format(i+1, sum))