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

|

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

출처

문제

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

풀이 (python)

# 풀이1
def rm_small(mylist):
    mylist.remove(min(mylist)) #min() - O(N) 시간복잡도
    return mylist


# 풀이2 - filter 사용
def rm_small(mylist):
    return list(filter(lambda x: x > min(mylist), mylist))


# 풀이3
def rm_samll(mylist):
    return [i for i in mylist if i > min(mylist)]

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

배운점

  • min(), max() 함수를 이용하면 인수로 반복 가능(iterable)한 자료형을 입력받아 그 최소값, 최대값을 리턴한다.
  • iterable 의 의미는 member를 하나씩 차례로 반환 가능한 object를 말한다.
  • iterable 의 예로는 sequence type인 list, str, tuple,dic 이 대표적이다.