티스토리 뷰

문제 설명

정수를 저장한 배열, 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 = []
    
    minVal = min(arr)
    arr.remove(minVal)
    
    if not arr:
        arr.insert(0,-1)
    
    return arr

 

  • arr 배열에서 가장 작은 수를 찾는 함수 min()을 사용하여 minVal에 담는다. 
  • remove()함수를 사용하여 arr 배열에서 minVal을 제거한다. 
  • 만약 arr이 빈 배열이라면 arr배열의 0번째에 -1를 insert한다. 
    (한 개의 값만 들어있는 배열이라면 자기 자신이 최소값이므로)

 

💡 다른 사람의 풀이 

def rm_small(mylist):
    return [i for i in mylist if i > min(mylist)]

 

  • 앞으로 저런 방식을 사용할 수 있는 문제라면 한 줄로 끝낼 수 있도록 머리를 써야겠다.
  • mylist의 값 i가 mylist의 최소값보다 크다면 출력 
  • 위의 코드는 빈 배열일 경우를 고려하지 않은 것 같다. 문제가 개편되기 전의 코드인듯
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31