문제설명
정수를 저장한 배열, 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 = []
if len(arr) == 1:
answer.append(-1)
return answer
else:
for i in arr:
answer.append(i)
answer.sort(reverse=True)
return answer[:-1]
코드 실행시 나오는 테스트 두개는 통과했는데,
채점을 누르니 다 틀렸다고 나온다 🥲

vsc에서 테스트 해본 결과
출력은 원하는대로 잘 나오는 것 같은데,, 왜 오답으로 나올까???
추가
[5,7,1,8,2,3] 이라면 여기서 원하는 정답은 [5,7,8,2,3] 일 것이다.[8,7,5,3,2] 가 아니라def solution(arr):
if len(arr) == 1:
return [-1]
else:
min_value = min(arr)
arr.remove(min_value)
return arr
코드 회고
if len(arr) == 1:
answer.append(-1)
return answer
answer에 -1을 넣고 다시 answer을 리턴해줄 필요 없이 아래와 같이 하면 된다.
if len(arr) == 1:
return [-1]
(수정 전)
for i in arr:
answer.append(i)
answer.sort(reverse=True)
return answer[:-1]
(수정 후)
min_value = min(arr)
arr.remove(min_value)
return arr