MyPrograming
프로그래머스-파이썬 (제일 작은 수 제거하기) 본문
반응형
Q. 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다.
<제한사항>
- arr은 길이 1 이상인 배열입니다.
- 인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다.
<예시>
<내 풀이>
def solution(arr):
answer = []
arr.remove(min(arr))
if len(arr) != 0:
answer.extend(arr)
else:
answer.append(-1)
return answer
처음엔 반복문으로 요소에 하나하나 직접 접근하려했지만 처리시간에 대한 효율성이 매우 떨어져서
바로 최소값을 찾아 제거하고 결과를 반환시켰더니 간단히 해결되었다.
역시 반복문을 자주 쓰는 버릇은 알고리즘 처리시간에 큰 영향을 끼치기때문에 반복문 없이 처리가 가능한 문제는
최대한 자제하는 것이 효과적인 것 같다.
반응형
'Python > 알고리즘' 카테고리의 다른 글
프로그래머스-파이썬 (크레인 인형뽑기) (0) | 2021.01.20 |
---|---|
알고리즘 수행시간 체크 (0) | 2021.01.18 |
프로그래머스-파이썬 (시저 암호) (0) | 2021.01.13 |
프로그래머스-파이썬 (체육복) (0) | 2021.01.13 |
프로그래머스-파이썬 (완주하지 못한 선수) (0) | 2021.01.12 |