제일 작은 수 제거하기
✅ <문제 설명> 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다.
- 조건1 : 가장 작은 수를 제거한 배열
- 조건2 : 배열의 길이가 1초과일 경우 [-1]을 리턴
✅ <입출력 예시>
✅ <문제 풀이>
결론부터 말하자면, 문제에서 정렬을 하라는 조건이 없는데, 나의 return 값은 항상 내림차순 정렬된 형태로 나온다는 것. 그래서 테스트 케이스에서는 실행이 되지만, 다른 경우는 실행 X

<틀린 풀이>
def solution(arr):
if len(arr) > 1:
arr.sort(reverse = True)
arr_pop = arr.pop()
return arr
else :
return [-1]
<정답 케이스 one of them>
def solution(arr):
if len(arr) > 1:
arr.remove(min(arr))
return arr
else:
return [-1]
- <나의 틀린 풀이> 리스트를 내림차순 정렬 후 제일 뒤의 값을 제거했습니다.
- <정답 케이스> 리스트에서 최소값을 찾은 후 remove 함수를 통해 리스트에서 해당 요소 제거 ! ... ㅎ
문제를 차근차근 다시 읽어보기 ! 놓치고 있는 것이 없을까 ? 라는 의문가지기..!
<참고 Python 함수 및 문법들>
- len(arr): 리스트의 길이를 반환합니다.
- arr.sort(reverse=True): 리스트를 내림차순으로 정렬합니다.
- arr.pop(): 리스트의 마지막 요소를 제거하고 그 값을 반환합니다.
- arr.remove(value): 리스트에서 첫 번째로 일치하는 특정 값을 제거합니다.
- min(arr): 리스트에서 가장 작은 값을 반환합니다.
- if 조건문: 특정 조건을 만족하는지 확인합니다.
- else: 조건이 만족되지 않을 때 실행되는 블록을 지정합니다.
- return value: 함수에서 값을 반환합니다.
반응형
'Programming > Python' 카테고리의 다른 글
[프로그래머스 Python] 숫자 문자열과 영단어 (0) | 2024.07.11 |
---|---|
[프로그래머스 Python] 시저 암호 (0) | 2024.07.10 |
[프로그래머스 Python] 가운데 글자 가져오기, 콜라츠 추측, 문자열 내림차순 배치하기 (0) | 2024.07.03 |
[프로그래머스 Python] 없는 숫자 더하기, 크기가 작은 부분 문자열 (0) | 2024.07.01 |
[프로그래머스 Python] 하샤드 수, 두 정수의 합, 수박수박수박수박수박수? (0) | 2024.06.28 |