작성
·
207
0
안녕하세요.
격자판 최대합 알고리즘을 구현해 보았는데요.
열,행,대각선 합을 구하는 리스트를 따로 만들고, max함수를 사용하여 구현을 하였습니다.
제가 아직 메모리와 시간복잡도에 대해 잘 몰라서 질문드립니다. 아래와 같이 구현하게 되면 메모리와 시간 측면에서 비효율적일까요?..
확인 부탁드리겠습니다. 감사합니다.
n = int(input())
numlist = [list(map(int, input().split())) for _ in range(n)]
sumlist = [0]*(2*n+2)
for i in range(n):
for j in range(n):
num = numlist[i][j]
sumlist[i]+=num
sumlist[j+n]+=num
if i==j:
sumlist[-2]+=num
elif i+j == n-1:
sumlist[-1]+=num
maxSum = max(sumlist)
print(maxSum)