알고리즘 연습 [제일 작은 수 제거하기]
제일 작은 수 제거하기
문제
rm_small함수는 list타입 변수 mylist을 매개변수로 입력받습니다.
mylist 에서 가장 작은 수를 제거한 리스트를 리턴하고, mylist의 원소가 1개 이하인 경우는 []를 리턴하는 함수를 완성하세요.
예를들어 mylist가 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10, 8, 22]면 [10, 22]를 리턴 합니다.
나의 풀이
def rm_small(mylist):
mylist.remove(min(mylist))
return mylist
다른 풀이
def rm_small(mylist):
return [i for i in mylist if i > min(mylist)]
- 제일 작은 수가 리스트에 여러개 있을 때 나의 풀이는 중복제거가 안되는 문제를 해결!
123을 넣으면 3 + sum_digit(12) -> 3 + 2 + sum_digit(1) -> 3 + 2 + 1