-
카테고리
-
세부 분야
알고리즘 · 자료구조
-
해결 여부
미해결
질문드립니다.
21.05.15 21:23 작성 조회수 128
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)
답변을 작성해보세요.
0
김태원
지식공유자2021.05.16
안녕하세요^^
이 문제는 시간복잡도나 메모리 관리를 따질만큼 그런 수준의 입력크기가 아닙니다.
위와 같이 풀어도 별 차이 없습니다. 잘 하신 코드입니다.
답변 1