다음 100X100의 2차원 배열이 주어질 때, 각 행의 합, 각 열의 합, 각 대각선의 합 중 최댓값을 구하는 프로그램을 작성하여라.
다음과 같은 5X5 배열에서 최댓값은 29이다.
쉽게 생각해보면 1.가로 더하기, 세로 더하기, 대각선 더하기로 구분하면된다.
너무 하드코딩적이라 아쉬운 면모가 있다.
for start in range(0,10):
T = int(input())
arr = []
sum1 = []
last1 = 0
last2 = 0
for g in range(100):
tmp = list(map(int, input().split())) # 가로 더하기
sum1.append(sum(tmp))
arr.append(tmp)
for j in range(0,100):
pend = 0
for k in range(0,100):
if j == k: #왼쪽에서 오른쪽으로 대각선 더하기
last1 += arr[j][k]
if j + k == 9: #오른쪽에서 왼쪽으로 대각선 더하기
last2 += arr[j][k]
pend += arr[k][j] #세로 더하기
sum1.append(pend)
sum1.append(last1)
sum1.append(last2)
print("#", end="")
print(T,end=" ")
print(max(sum1))