append 함수

미해결질문
최은정 프로필

선생님 제가 항상 문제를 풀때 버릇 중에 하나가 뭐든 나온 값들을 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달 전

안녕하세요^^ 

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

지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스