본문 바로가기
Programing/프로그래머스 오답노트

제일 작은 수 제거하기, 오류 원인 찾기

by yooom 2023. 9. 11.
문제 설명
정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다.

 

풀이
def solution(arr):
    
    if len(arr) <= 1:
        return [-1]
    
    arr1 = sorted(arr, reverse = True)[:-1]
    
    return arr1

코드 검사에서는 통과했지만 코드를 제출하니 모든 항목에서 오답처리됐다.

- > 기존 배열 상태를 유지한 채 가장 작은 수만 제거해야하므로 오답처리 됐다. 배열을 바꾸지 않고 제거해야한다.

def solution(arr):
    if len(arr) <= 1:
        return [-1]
    
    min_val = min(arr)
    arr.remove(min_val)
    
    return arr

하지만 remove 함수를 사용하니 통과됐다. 실행 시간이 길어서 오류가 난 건지 확인해봐야 할 것 같다.

 

 

출처

https://school.programmers.co.kr/learn/courses/30/lessons/12935

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

728x90

댓글