문제 설명
정수를 저장한 배열, 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
'Programing > 프로그래머스 오답노트' 카테고리의 다른 글
삼총사 - ( combinations 모듈 ) (0) | 2023.09.12 |
---|---|
최대공약수, 최소공배수 (유클리드 호제법,)(약수) (0) | 2023.09.11 |
벡터 내적 zip() 활용 (0) | 2023.09.11 |
나누어 떨어지는 숫자 배열 ( list() 의 return 안됨 예시 ) (0) | 2023.09.11 |
return 한 줄 프로그래밍 (0) | 2023.09.07 |
댓글