다음 100X100의 2차원 배열이 주어질 때, 각 행의 합, 각 열의 합, 각 대각선의 합 중 최댓값을 구하는 프로그램을 작성하여라.
다음과 같은 5X5 배열에서 최댓값은 29이다.

총 10개의 테스트 케이스가 주어진다.
배열의 크기는 100X100으로 동일하다.
각 행의 합은 integer 범위를 넘어가지 않는다.
동일한 최댓값이 있을 경우, 하나의 값만 출력한다.
각 테스트 케이스의 첫 줄에는 테스트 케이스 번호가 주어지고 그 다음 줄부터는 2차원 배열의 각 행 값이 주어진다.
#부호와 함께 테스트 케이스의 번호를 출력하고, 공백 문자 후 테스트 케이스의 답을 출력한다.
처음에 100x100개 총 만개의 숫자를 input하나로 받으려 했는데, 100개까지만 받아져서 100개씩 끊어서 arr에 2차원 배열꼴로 숫자들을 저장해주고, 행별,열별,대각선별로 합을 구해서 sum에 저장해 준 후 거기서 제일 최대값을 출력하게 했다.
for _ in range(10):
test_case = int(input())
arr=[]
sum = []
for _ in range(100):
arr.append(list(map(int, input().split())))
# 행의 합
for i in range(100):
temp_sum = 0
for j in range(100):
temp_sum +=arr[i][j]
sum.append(temp_sum)
# 열의 합
for i in range(100):
temp_sum = 0
for j in range(100):
temp_sum +=arr[j][i]
sum.append(temp_sum)
# 대각선 1의 합
temp_sum=0
for i in range(100):
temp_sum+=arr[i][i]
sum.append(temp_sum)
# 대각선 2의 합
temp_sum = 0
for i in range(100):
temp_sum += arr[i][99-i]
sum.append(temp_sum)
print(f'#{test_case} {max(sum)}')