[파이썬][프로그래머스] 제일 작은 수 제거하기
1. 문제Permalink
[level 1] 제일 작은 수 제거하기 - 12935Permalink
성능 요약Permalink
메모리: 10.3 MB, 시간: 0.07 ms
구분Permalink
코딩테스트 연습 > 연습문제
채점결과Permalink
정확성: 100.0
합계: 100.0 / 100.0
문제 설명Permalink
정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다.
제한 조건
- arr은 길이 1 이상인 배열입니다.
- 인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다.
입출력 예
arr | return |
---|---|
[4,3,2,1] | [4,3,2] |
[10] | [-1] |
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges
2. 해결방법 시간복잡도Permalink
- 단순 코딩 O(1)
3. 문제 해결 및 코드Permalink
def solution(arr): | |
n = len(arr) | |
result = [] | |
if n == 1: | |
result.append(-1) | |
else: | |
result = arr | |
result.remove(sorted(arr)[0]) | |
return result |
-
주석을 참고하면서 이해를 돕습니다.Permalink
4. 알고리즘 및 해설Permalink
- 배열의 길이가 1인 경우에는 -1로 출력한다.
- 아닌 경우에는 정렬된 배열에서 제일 작은 수를 제외한 값을 출력한다.