jyamethyst21 님의 블로그

프로그래머스 - '제일 작은 수 제거하기' (PYTHON 풀이) 본문

CODING 💻

프로그래머스 - '제일 작은 수 제거하기' (PYTHON 풀이)

jyamethyst21 2026. 5. 2. 02:28

문제:

 

입력 받은 배열에서 가장 작은 값을 지우고 리턴해주는 문제이다.

단, 값이 하나일 경우에는 -1을 리턴하면 된다.

 

풀이:

def solution(arr):
    if len(arr) == 1:
        return -1
    else:
        arr_min = min(arr)
        arr.remove(arr_min)
        return arr

먼저 배열의 길이를 구한 다음 1인 경우, 값을 지웠을 때 빈 배열이 되기 때문에 -1을 리턴하고, 그렇지 않은 경우에는 배열에서 가장 작은 수를 min 함수를 활용해서 구한 뒤, 해당 수를 remove를 활용하여 지운다.

이때 주의해야할 점은 remove 함수는 리턴값이 없는 함수이므로 'a = arr.remove(arr_min)' 과 같이 작성할 경우 None을 반환하여 원하는 대로 출력이 되지 않는다. 그래서 상기와 같이 기존 배열에서 수정되는 것을 활용해서 바로 기존 배열 자체를 리턴해주면 된다.