Programmers - 제일 작은 수 제거하기(Python)

문제

  • 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다.

제한사항

  • arr은 길이 1 이상인 배열입니다.
  • 인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다.

입출력 예

arrreturn
[4,3,2,1][4,3,2]
[10][-1]

✍ 코드

def solution(arr):

    if len(arr) <= 1 :
        arr = [-1]

    else :
        min_value = min(arr)        

        arr.remove(min_value)


    return arr
  • 만약 arr의 길이가 1 이하라면 -1을 리턴할 수 있도록 len() 메소드를 이용하였다.
  • arr의 길이가 1보다 크다면 arr의 값들 중 가장 작은 값을 min() 메소드를 이용하여 min_value에 할당하고, 이를 remove() 메소드를 이용하여 arr에서 제거한 후 arr을 return 하도록 하였다.

📝 결과

😃 느낀점

  • 리스트의 어떤 요소의 값이 N이라고 하였을 때 pop(N)을 하게 될 경우, N 값이 제거되는 것이 아니라 리스트의 N번째의 요소를 제거해준다.
  • 내가 원하는 N 값을 제거해주기 위해서는 remove(N)을 해주어야 한다.
  • 이 pop()과 remove()의 차이점을 정확하게 알 수 있어서 좋았던 것 같다.

👍 Irish의 모든 코드 보기

-> Irish Github

좋은 웹페이지 즐겨찾기