정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다.
arr | return |
---|---|
[4,3,2,1] | [4,3,2] |
[10] | [-1] |
def solution(arr):
answer = []
temp = 0
for i in arr:
answer.append(i)
arr = sorted(arr, reverse=True)
temp = arr[-1]
arr.pop()
if len(arr) == 0:
return [-1]
for i in answer:
if i == temp:
answer.pop(answer.index(i))
return answer
해당 풀이 과정은 코드가 조금 지져분하고 굳이 정렬을 하지 않아도 된다.
경우를 arr의 길이가 1일 때와 아닐 때로 나누고 해당 부분에서 최솟값을 찾아서 빼주는 코드가 훨씬 깔끔하고 이쁘다.
def solution(arr):
if len(arr) == 1:
return [-1]
else:
mini = arr[0]
for i in arr:
if mini > i:
mini = i
arr.remove(mini)
return arr