제일 작은 수 제거하기

Tiffany ·2024년 3월 28일
0

Programmers

목록 보기
12/15
#sort takes O(nlogn). better time complexity if iterating instead to find min then remove it taking O(n)
def solution(arr):
    if len(arr) == 1:
        return [-1]
    
    #find min 
    minVal = float("inf")
    index = 0 
    for i in range(len(arr)):
        if minVal > arr[i]:
            minVal = arr[i]
            index = i 
    #copy array 
    answer = arr[:] 
    #then remove minVal 
    answer.remove(arr[index])        
    #answer = arr[:index] + arr[index+1:]
    return answer 

for i in range(len(arr)): vs. for ele in arr:

오류가 날때 가끔 캐치하지 못하는 경우가 있는데 전자는 인덱스를 이용하여 원소에 접근하고 후자는 직접적으로 원소에 접근한다는것. variable의 이름을 잘지어야 오류도 캐치하기 쉽다. 예를들어 for ele in range(len(arr)): vs. for i in arr: 이렇게 쓰는것은 매우 안좋은 예시가 될것이다.

profile
Love what you do and don't quit.

0개의 댓글