강의

멘토링

커뮤니티

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

최은정님의 프로필 이미지
최은정

작성한 질문수

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

6. 격자판 최대합

append 함수

작성

·

291

0

선생님 제가 항상 문제를 풀때 버릇 중에 하나가 뭐든 나온 값들을 append로 어떤 배열에 넣고 그 배열에 넣은 것중에서 값을 찾는 버릇이 있습니다. 

혹시 이 버릇 계속 가져가면 안좋을까요?

이번 문제도 이런식으로 풀었습니다.

n=int(input())

a=[list(map(int,input().split())) for _ in range(n)]

b=[]

count1=0

count2=0

count3=0

count4=0

for i in range(n):

    count3+=a[i][i]

    count4+=a[i][n-i-1]

    for j in range(n):

        count1+=a[i][j]

        count2+=a[j][i]

    b.append(count1)

    b.append(count2)

    count1=0

    count2=0

b.append(count3)

b.append(count4)

print(max(b))

답변 1

0

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

안녕하세요^^ 

굳이 리스트에 넣고 그 중 최대값을 찾을 필요가 없는데 그렇게 하면 메모리도 낭비되고, 시간복잡도도 올라갑니다. 좋지 않은 습관 같습니다. 바로 구할 수 있으면 바로 구하는게 좋습니다. 그리고 인터뷰에서 바로 구할 수 있는데 굳이 리스트에 넣은 다음에 구하는 것은 사고가 유연하지 못한 사람처럼 비춰질 수 있습니다.

최은정님의 프로필 이미지
최은정

작성한 질문수

질문하기