인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

can님의 프로필 이미지
can

작성한 질문수

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

6. 격자판 최대합

질문드립니다.

작성

·

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)

답변 1

0

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

이 문제는 시간복잡도나 메모리 관리를 따질만큼 그런 수준의 입력크기가 아닙니다.

위와 같이 풀어도 별 차이 없습니다. 잘 하신 코드입니다.

can님의 프로필 이미지
can

작성한 질문수

질문하기