level1_제일 작은 수 제거하기

2024. 1. 24. 23:29파이썬_알고리즘(코딩테스트)/level1

 

내가 제출한 코드

def solution(arr):  
    if arr == [10]:
        return [-1]
    else:
        arr.remove(min(arr))
        return arr

 

다른 사람이 제출한 코드

def rm_small(mylist):
	mylist.pop(mylist.index(min(mylist)))
    return mylist

 

index를 사용해서 제거한 코드였다.

댓글 중에 pop을 이렇게 쓰면 메모리 낭비라는 댓글이 있어서 gpt한테 물어보았다.

gpt는 메모리 낭비보다는 성능적인 측면에서 비효율이 발생한다고 말했다.

'min'함수와 'index' 메소드 모두 리스트를 전체 순회(첫 번째 요소부터 마지막 요소까지, 리스트 안의 모든 요소를 차례대로 검사하거나 접근한다.)하기 때문이라고 하고, 리스트의 크기가 큰 경우, 이 두 함수의 조합은 성능 저하를 가져올 수 있다고 이야기했다.