Lv.1 제일 작은 수 제거 하기

출처 : 프로그래머스

문제

rm_small함수는 list타입 변수 mylist을 매개변수로 입력받습니다. mylist 에서 가장 작은 수를 제거한 리스트를 리턴하고, mylist의 원소가 1개 이하인 경우는 []를 리턴하는 함수를 완성하세요. 예를들어 mylist가 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10, 8, 22]면 [10, 22]를 리턴 합니다.

내 풀이

def rm_small(mylist):
    templist = list(mylist)
    templist.sort()
    mylist.remove(templist[0])
    return mylist


# 아래는 테스트로 출력해 보기 위한 코드입니다.
my_list = [4, 3, 2, 1]
print("결과 {} ".format(rm_small(my_list)))

다른사람의 풀이

def rm_small(mylist):
    return [i for i in mylist if i > min(mylist)]

# 아래는 테스트로 출력해 보기 위한 코드입니다.
my_list = [4,3,2,1]
print("결과 {} ".format(rm_small(my_list)))

배운점

  • pythonsort는 반환값이 없다. 단순히 자신의 리스트의 요소만 정렬한다.
  • min이라는 iterable한 자료형을 받아 최소값을 리턴 한다.
  • list의 대입은 복사가 아니라 같은 주소를 가진다

Comments