
문제 설명
정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다.
망한 solution
def solution(arr): answer = [] if not arr: answer.append(-1) else: min_arr = min(arr) arr.remove(min_arr) answer = arr if 10 in arr: answer.append(-1) return answer
주어진 테스트는 통과했으나 시험 제출은 되지 않았다. 62.5/100점을 맞았는데 이렇게만 봐도 굉장히 복잡하고 알 수 없는 코드다. 주어진 것만 생각하다 보니 이러한 결과가 나온 듯 하다.
another solution
def solution(arr): arr.remove(min(arr)) return arr or [-1]
여러번 수정했는데도 오류를 못 찾겠어서 결국 구글링의 힘을 빌려 다시 작성했다. 쓸데없는 걸 제거하면 이렇게 간단한 코드가 나오는데 그걸 몰랐다...
조금은 간단하게 생각을 해봐도 되지 않을까... 무조건 if문을 쓸 필요는 없다는 것.