1. 문제
programmers.co.kr/learn/courses/30/lessons/12935
2. 내가 생각했던 풀이과정
1) 배열을 입력받는다
2) 입력받은 배열의 원소중에 가장 작은 원소를 찾기위해 min() 함수를 이용하여 배열의 가장 작은 값을 찾는다.
3) 배열의 가장 작은 원소를 remove() 함수를 이용해 원소를 제거한다 .
4) 문자열 길이가 1보다 크면 배열을, 작으면 [-1] 을 리턴한다. [-1]을 리턴한 이유는 false를 넣으면 오답으로 처리되었기 때문이다.
3. 나의 풀이
arr = list(map(int, input().split()))
def solution(arr):
arr.remove(min(arr))
if int(len(arr)) >= 1:
return arr
else:
return [-1]
4. 다른 사람의 풀이
def rm_small(mylist):
del mylist[mylist.index(min(mylist))]
return mylist
remove() 대신에 del을 이용해서 배열의 가장 작은 원소를 index로 찾아 처리하였다.
5. 새로 알게된 점
list의 원소를 삭제하는 방법
1) del 키워드를 통한 삭제
>>> a = [1, 2, 3, 4, 5, 6, 7]
>>> del a[1]
>>> a
[1, 3, 4, 5, 6, 7]
2) list의 remove 메소드에 의한 삭제
list.remove(찾을아이템)
3) del키워드와 리스트의 index메소드와 혼합하여 사용
>>> a = [1, 2, 3, 4, 5, 6, 7]
>>> del a[a.index(3)]
>>> a
[1, 2, 4, 5, 6, 7]
- 참고
리스트 원소 추가 삭제: wikidocs.net/16040
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] x만큼 간격이 있는 n개의 숫자 - 파이썬 (0) | 2020.12.27 |
---|---|
[프로그래머스] 콜라츠 추측 (0) | 2020.12.27 |
[프로그래머스] 수박수박수박수박? (0) | 2020.12.25 |
[프로그래머스] 가운데 글자 가져오기 (0) | 2020.12.20 |
[프로그래머스] 서울에서 김서방 찾기 (0) | 2020.12.19 |
댓글